show
show
show
show
show
show
yes
1
fixed
show
show
show
show
show
disable
{
"tiddlers": {
"$:/Acknowledgements": {
"title": "$:/Acknowledgements",
"text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
},
"$:/core/copyright.txt": {
"title": "$:/core/copyright.txt",
"type": "text/plain",
"text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2020, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
},
"$:/core/icon": {
"title": "$:/core/icon",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
},
"$:/core/images/add-comment": {
"title": "$:/core/images/add-comment",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-add-comment tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 56H36a8 8 0 100 16h20v20a8 8 0 1016 0V72h20a8 8 0 100-16H72V36a8 8 0 10-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\"/></svg>"
},
"$:/core/images/advanced-search-button": {
"title": "$:/core/images/advanced-search-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-advanced-search-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M74.565 87.985A47.776 47.776 0 0148 96C21.49 96 0 74.51 0 48S21.49 0 48 0s48 21.49 48 48c0 9.854-2.97 19.015-8.062 26.636l34.347 34.347a9.443 9.443 0 010 13.36 9.446 9.446 0 01-13.36 0l-34.36-34.358zM48 80c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/><circle cx=\"48\" cy=\"48\" r=\"8\"/><circle cx=\"28\" cy=\"48\" r=\"8\"/><circle cx=\"68\" cy=\"48\" r=\"8\"/></g></svg>"
},
"$:/core/images/auto-height": {
"title": "$:/core/images/auto-height",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-auto-height tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M67.987 114.356l-.029-14.477a4 4 0 00-2.067-3.494l-15.966-8.813-1.933 7.502H79.9c4.222 0 5.564-5.693 1.786-7.58L49.797 71.572 48.01 79.15h31.982c4.217 0 5.564-5.682 1.795-7.575L49.805 55.517l-1.795 7.575h31.982c4.212 0 5.563-5.67 1.805-7.57l-16.034-8.105 2.195 3.57V35.614l9.214 9.213a4 4 0 105.656-5.656l-16-16a4 4 0 00-5.656 0l-16 16a4 4 0 105.656 5.656l9.13-9.13v15.288a4 4 0 002.195 3.57l16.035 8.106 1.804-7.57H48.01c-4.217 0-5.564 5.682-1.795 7.574l31.982 16.059 1.795-7.575H48.01c-4.222 0-5.564 5.693-1.787 7.579l31.89 15.923 1.787-7.578H47.992c-4.133 0-5.552 5.504-1.933 7.501l15.966 8.813-2.067-3.494.029 14.436-9.159-9.158a4 4 0 00-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656l-9.185 9.184zM16 20h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
},
"$:/core/images/blank": {
"title": "$:/core/images/blank",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\"/>"
},
"$:/core/images/bold": {
"title": "$:/core/images/bold",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-bold tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.146 51.81V21.87h26.353c2.51 0 4.93.21 7.26.628 2.33.418 4.392 1.165 6.185 2.24 1.793 1.076 3.227 2.57 4.302 4.482 1.076 1.913 1.614 4.363 1.614 7.35 0 5.379-1.613 9.263-4.84 11.653-3.227 2.39-7.35 3.586-12.37 3.586H41.146zM13 0v128h62.028a65.45 65.45 0 0016.762-2.151c5.438-1.434 10.278-3.645 14.52-6.633 4.244-2.988 7.62-6.842 10.13-11.563 2.51-4.721 3.764-10.308 3.764-16.762 0-8.008-1.942-14.85-5.826-20.527-3.884-5.677-9.77-9.65-17.658-11.921 5.737-2.75 10.069-6.275 12.997-10.577 2.928-4.303 4.392-9.681 4.392-16.135 0-5.976-.986-10.995-2.958-15.059-1.972-4.063-4.75-7.32-8.336-9.77-3.585-2.45-7.888-4.213-12.907-5.289C84.888.538 79.33 0 73.235 0H13zm28.146 106.129V70.992H71.8c6.095 0 10.995 1.404 14.7 4.212 3.705 2.81 5.558 7.5 5.558 14.073 0 3.347-.568 6.096-1.703 8.247-1.136 2.151-2.66 3.854-4.572 5.11-1.912 1.254-4.123 2.15-6.633 2.688-2.51.538-5.139.807-7.888.807H41.146z\"/></svg>"
},
"$:/core/images/cancel-button": {
"title": "$:/core/images/cancel-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 76.314l-16.97 16.97a7.999 7.999 0 01-11.314 0c-3.118-3.118-3.124-8.19 0-11.313L52.686 65l-16.97-16.97a7.999 7.999 0 010-11.314c3.118-3.118 8.19-3.124 11.313 0L64 53.686l16.97-16.97a7.999 7.999 0 0111.314 0c3.118 3.118 3.124 8.19 0 11.313L75.314 65l16.97 16.97a7.999 7.999 0 010 11.314c-3.118 3.118-8.19 3.124-11.313 0L64 76.314zM64 129c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 1 0 29.654 0 65c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 17 64 17 16 38.49 16 65s21.49 48 48 48z\"/></svg>"
},
"$:/core/images/chevron-down": {
"title": "$:/core/images/chevron-down",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-down tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.053 85.456a7.889 7.889 0 01-5.6-2.316L2.473 27.16a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0L64.05 66.344l50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.105 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.317z\"/><path d=\"M64.053 124.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></g></svg>"
},
"$:/core/images/chevron-left": {
"title": "$:/core/images/chevron-left",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M47.544 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L66.656 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.105 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.317-5.595z\"/><path d=\"M8.931 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L28.041 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.104 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.316-5.595z\"/></g></svg>"
},
"$:/core/images/chevron-right": {
"title": "$:/core/images/chevron-right",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-right tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M83.456 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196L64.344 63.95 13.963 13.567a7.92 7.92 0 010-11.195c3.086-3.085 8.105-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.317 5.595z\"/><path d=\"M122.069 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></g></svg>"
},
"$:/core/images/chevron-up": {
"title": "$:/core/images/chevron-up",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-chevron-up tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M63.947 44.544c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 63.656l-50.382 50.382a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.317z\"/><path d=\"M63.947 5.931c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 25.041 13.567 75.423a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.104 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.316z\"/></g></svg>"
},
"$:/core/images/clone-button": {
"title": "$:/core/images/clone-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-clone-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M32.265 96v24.002A7.996 7.996 0 0040.263 128h79.74a7.996 7.996 0 007.997-7.998v-79.74a7.996 7.996 0 00-7.998-7.997H96V48h12.859a2.99 2.99 0 012.994 2.994v57.865a2.99 2.99 0 01-2.994 2.994H50.994A2.99 2.99 0 0148 108.859V96H32.265z\"/><path d=\"M40 56h-7.993C27.588 56 24 52.418 24 48c0-4.41 3.585-8 8.007-8H40v-7.993C40 27.588 43.582 24 48 24c4.41 0 8 3.585 8 8.007V40h7.993C68.412 40 72 43.582 72 48c0 4.41-3.585 8-8.007 8H56v7.993C56 68.412 52.418 72 48 72c-4.41 0-8-3.585-8-8.007V56zM8 0C3.58 0 0 3.588 0 8v80c0 4.419 3.588 8 8 8h80c4.419 0 8-3.588 8-8V8c0-4.419-3.588-8-8-8H8zM19 16A2.997 2.997 0 0016 19.001v57.998A2.997 2.997 0 0019.001 80h57.998A2.997 2.997 0 0080 76.999V19.001A2.997 2.997 0 0076.999 16H19.001z\"/></g></svg>"
},
"$:/core/images/close-all-button": {
"title": "$:/core/images/close-all-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-close-all-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M28 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L16.686 100 2.543 85.856a8 8 0 0111.313-11.313L28 88.686l14.144-14.143a8 8 0 0111.313 11.313L39.314 100l14.143 14.144a8 8 0 01-11.313 11.313L28 111.314zM28 39.314L13.856 53.457A8 8 0 012.543 42.144L16.686 28 2.543 13.856A8 8 0 0113.856 2.543L28 16.686 42.144 2.543a8 8 0 0111.313 11.313L39.314 28l14.143 14.144a8 8 0 01-11.313 11.313L28 39.314zM100 39.314L85.856 53.457a8 8 0 01-11.313-11.313L88.686 28 74.543 13.856A8 8 0 0185.856 2.543L100 16.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 28l14.143 14.144a8 8 0 01-11.313 11.313L100 39.314zM100 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L88.686 100 74.543 85.856a8 8 0 0111.313-11.313L100 88.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 100l14.143 14.144a8 8 0 01-11.313 11.313L100 111.314z\"/></g></svg>"
},
"$:/core/images/close-button": {
"title": "$:/core/images/close-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M65.086 75.41l-50.113 50.113c-3.121 3.121-8.192 3.126-11.316.002-3.118-3.118-3.123-8.19.002-11.316l50.114-50.114L3.659 13.982C.538 10.86.533 5.79 3.657 2.666c3.118-3.118 8.19-3.123 11.316.002l50.113 50.114L115.2 2.668c3.121-3.121 8.192-3.126 11.316-.002 3.118 3.118 3.123 8.19-.002 11.316L76.4 64.095l50.114 50.114c3.121 3.121 3.126 8.192.002 11.316-3.118 3.118-8.19 3.123-11.316-.002L65.086 75.409z\"/></svg>"
},
"$:/core/images/close-others-button": {
"title": "$:/core/images/close-others-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-close-others-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48zm0-16c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32zm0-16c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16z\"/></svg>"
},
"$:/core/images/copy-clipboard": {
"title": "$:/core/images/copy-clipboard",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-copy-clipboard tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"33\" height=\"8\" x=\"40\" y=\"40\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"82\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"54\" rx=\"4\"/><rect width=\"33\" height=\"8\" x=\"40\" y=\"96\" rx=\"4\"/><rect width=\"12\" height=\"8\" x=\"40\" y=\"68\" rx=\"4\"/><path d=\"M40 16H24c-4.419 0-8 3.59-8 8a8.031 8.031 0 000 .01v95.98a8.03 8.03 0 000 .01c0 4.41 3.581 8 8 8h80a7.975 7.975 0 005.652-2.34 7.958 7.958 0 002.348-5.652v-16.016c0-4.414-3.582-7.992-8-7.992-4.41 0-8 3.578-8 7.992V112H32V32h64v8.008C96 44.422 99.582 48 104 48c4.41 0 8-3.578 8-7.992V23.992a7.963 7.963 0 00-2.343-5.651A7.995 7.995 0 00104.001 16H88c0-4.41-3.585-8-8.007-8H48.007C43.588 8 40 11.582 40 16zm4-1.004A4.001 4.001 0 0148 11h32c2.21 0 4 1.797 4 3.996v4.008A4.001 4.001 0 0180 23H48c-2.21 0-4-1.797-4-3.996v-4.008z\"/><rect width=\"66\" height=\"16\" x=\"62\" y=\"64\" rx=\"8\"/><path d=\"M84.657 82.343l-16-16v11.314l16-16a8 8 0 10-11.314-11.314l-16 16a8 8 0 000 11.314l16 16a8 8 0 1011.314-11.314z\"/></g></svg>"
},
"$:/core/images/delete-button": {
"title": "$:/core/images/delete-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(12)\"><rect width=\"105\" height=\"16\" y=\"11\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"28\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"8\" y=\"16\" rx=\"8\"/><rect width=\"88\" height=\"16\" x=\"8\" y=\"112\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"80\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"56\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"32\" y=\"16\" rx=\"8\"/></g></svg>"
},
"$:/core/images/done-button": {
"title": "$:/core/images/done-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M42.26 111.032c-2.051.001-4.103-.78-5.668-2.345L2.662 74.758a8 8 0 01-.005-11.32c3.118-3.117 8.192-3.12 11.32.007l28.278 28.278 72.124-72.124a8.002 8.002 0 0111.314-.001c3.118 3.118 3.124 8.19 0 11.315l-77.78 77.78a7.978 7.978 0 01-5.658 2.343z\"/></svg>"
},
"$:/core/images/down-arrow": {
"title": "$:/core/images/down-arrow",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.177 100.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.086 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></svg>"
},
"$:/core/images/download-button": {
"title": "$:/core/images/download-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-download-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\" class=\"tc-image-download-button-ring\"/><path d=\"M34.35 66.43l26.892 27.205a4.57 4.57 0 006.516 0L94.65 66.43a4.7 4.7 0 000-6.593 4.581 4.581 0 00-3.258-1.365h-8.46c-2.545 0-4.608-2.087-4.608-4.661v-15.15c0-2.575-2.063-4.662-4.608-4.662H55.284c-2.545 0-4.608 2.087-4.608 4.662v15.15c0 2.574-2.063 4.661-4.608 4.661h-8.46c-2.545 0-4.608 2.087-4.608 4.662a4.69 4.69 0 001.35 3.296z\"/></g></svg>"
},
"$:/core/images/edit-button": {
"title": "$:/core/images/edit-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M95.627 10.059l-5.656 5.657 11.313 11.313 5.657-5.656-11.314-11.314zm5.657-5.657l1.966-1.966c3.123-3.122 8.194-3.129 11.319-.005 3.117 3.118 3.122 8.192-.005 11.32l-1.966 1.965-11.314-11.314zm-16.97 16.97l-60.25 60.25a8.12 8.12 0 00-.322.342c-.1.087-.198.179-.295.275-5.735 5.735-10.702 22.016-10.702 22.016s16.405-5.09 22.016-10.702c.095-.096.186-.193.272-.292a8.12 8.12 0 00.345-.325l60.25-60.25-11.314-11.313zM35.171 124.19c6.788-.577 13.898-2.272 23.689-5.348 1.825-.573 3.57-1.136 6.336-2.04 16-5.226 21.877-6.807 28.745-7.146 8.358-.413 13.854 2.13 17.58 8.699a4 4 0 006.959-3.946c-5.334-9.406-13.745-13.296-24.933-12.744-7.875.39-14.057 2.052-30.835 7.533-2.739.894-4.46 1.45-6.25 2.012-19.46 6.112-30.77 7.072-39.597 1.747a4 4 0 10-4.132 6.85c6.333 3.82 13.754 5.12 22.438 4.383z\"/></g></svg>"
},
"$:/core/images/erase": {
"title": "$:/core/images/erase",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-erase tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.087 127.996l63.015-63.015c6.535-6.535 6.528-17.115-.003-23.646L99.466 17.702c-6.539-6.538-17.117-6.532-23.646-.003L4.898 88.62c-6.535 6.534-6.528 17.115.003 23.646l15.73 15.73h39.456zm-34.95-7.313l-14.324-14.325c-3.267-3.268-3.268-8.564-.008-11.824L46.269 59.07l35.462 35.462-26.15 26.15H25.137z\"/></svg>"
},
"$:/core/images/excise": {
"title": "$:/core/images/excise",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-excise tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 107.314l-2.343 2.343a8 8 0 11-11.314-11.314l16-16a8 8 0 0111.314 0l16 16a8 8 0 11-11.314 11.314L72 107.314v14.284c0 3.536-3.582 6.402-8 6.402s-8-2.866-8-6.402v-14.284zM0 40.007C0 35.585 3.59 32 8 32c4.418 0 8 3.588 8 8.007v31.986C16 76.415 12.41 80 8 80c-4.418 0-8-3.588-8-8.007V40.007zm32 0C32 35.585 35.59 32 40 32c4.418 0 8 3.588 8 8.007v31.986C48 76.415 44.41 80 40 80c-4.418 0-8-3.588-8-8.007V40.007zm48 0C80 35.585 83.59 32 88 32c4.418 0 8 3.588 8 8.007v31.986C96 76.415 92.41 80 88 80c-4.418 0-8-3.588-8-8.007V40.007zm-24-32C56 3.585 59.59 0 64 0c4.418 0 8 3.588 8 8.007v31.986C72 44.415 68.41 48 64 48c-4.418 0-8-3.588-8-8.007V8.007zm56 32c0-4.422 3.59-8.007 8-8.007 4.418 0 8 3.588 8 8.007v31.986c0 4.422-3.59 8.007-8 8.007-4.418 0-8-3.588-8-8.007V40.007z\"/></svg>"
},
"$:/core/images/export-button": {
"title": "$:/core/images/export-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-export-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.003 128H119.993a7.984 7.984 0 005.664-2.349v.007A7.975 7.975 0 00128 120V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v56H16V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v64c0 4.418 3.59 8 8 8h.003zm48.62-100.689l-8.965 8.966c-3.125 3.125-8.195 3.13-11.319.005-3.118-3.118-3.122-8.192.005-11.319L58.962 2.346A7.986 7.986 0 0164.625 0l-.006.002c2.05-.001 4.102.78 5.666 2.344l22.618 22.617c3.124 3.125 3.129 8.195.005 11.319-3.118 3.118-8.192 3.122-11.319-.005l-8.965-8.966v61.256c0 4.411-3.582 8-8 8-4.41 0-8-3.582-8-8V27.311z\"/></svg>"
},
"$:/core/images/file": {
"title": "$:/core/images/file",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-file tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M111.968 30.5H112V120a8 8 0 01-8 8H24a8 8 0 01-8-8V8a8 8 0 018-8h57v.02a7.978 7.978 0 015.998 2.337l22.627 22.627a7.975 7.975 0 012.343 5.516zM81 8H24v112h80V30.5H89c-4.418 0-8-3.578-8-8V8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"68\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"84\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"100\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/></svg>"
},
"$:/core/images/fixed-height": {
"title": "$:/core/images/fixed-height",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fixed-height tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60 35.657l-9.172 9.171a4 4 0 11-5.656-5.656l16-16a4 4 0 015.656 0l16 16a4 4 0 01-5.656 5.656L68 35.657v57.686l9.172-9.171a4 4 0 115.656 5.656l-16 16a4 4 0 01-5.656 0l-16-16a4 4 0 115.656-5.656L60 93.343V35.657zM16 116h96a4 4 0 100-8H16a4 4 0 100 8zm0-96h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
},
"$:/core/images/fold-all-button": {
"title": "$:/core/images/fold-all-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M64.03 20.004c-2.05 0-4.102.78-5.667 2.344L35.746 44.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 22.348a7.986 7.986 0 00-5.663-2.346zM64.03 85.002c-2.05-.001-4.102.78-5.667 2.344l-22.617 22.617c-3.125 3.125-3.13 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.966 16.966 16.966c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.192-.005-11.319L69.687 87.346A7.986 7.986 0 0064.024 85z\"/></g></svg>"
},
"$:/core/images/fold-button": {
"title": "$:/core/images/fold-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M64.03 25.004c-2.05 0-4.102.78-5.667 2.344L35.746 49.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 27.348a7.986 7.986 0 00-5.663-2.346zM64.005 67.379c-2.05 0-4.102.78-5.666 2.344L35.722 92.34c-3.125 3.125-3.13 8.195-.006 11.32 3.118 3.117 8.192 3.121 11.32-.006L64 86.69l16.965 16.965c3.125 3.125 8.195 3.13 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L69.663 69.723A7.986 7.986 0 0064 67.377z\"/></g></svg>"
},
"$:/core/images/fold-others-button": {
"title": "$:/core/images/fold-others-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-fold-others tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" y=\"56.031\" rx=\"8\"/><path d=\"M86.632 79.976c-2.05 0-4.102.78-5.666 2.345L64 99.286 47.034 82.321a7.986 7.986 0 00-5.662-2.346l.005.001c-2.05 0-4.102.78-5.666 2.345l-22.618 22.617c-3.124 3.125-3.129 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.966-16.966 16.965 16.966a7.986 7.986 0 005.663 2.346l-.005-.002c2.05 0 4.102-.78 5.666-2.344l16.965-16.966 16.966 16.966c3.125 3.124 8.194 3.129 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L92.289 82.321a7.986 7.986 0 00-5.663-2.346zM86.7 48.024c-2.05 0-4.102-.78-5.666-2.345L64.07 28.714 47.103 45.679a7.986 7.986 0 01-5.663 2.346l.005-.001c-2.05 0-4.101-.78-5.666-2.345L13.162 23.062c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L41.44 28.714l16.966-16.966a7.986 7.986 0 015.662-2.346l-.005.002c2.05 0 4.102.78 5.666 2.344l16.966 16.966 16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L92.358 45.679a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
},
"$:/core/images/folder": {
"title": "$:/core/images/folder",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-folder tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.694 128H8C3.58 128 0 124.414 0 119.996V48.004C0 43.584 3.584 40 7.999 40H16v-8c0-4.418 3.578-8 8-8h32a8 8 0 018 8v8h40.001c4.418 0 7.999 3.586 7.999 8.004V59.83l-8-.082v-7.749A4 4 0 0099.997 48H56V36c0-2.21-1.793-4-4.004-4H28.004A4 4 0 0024 36v12H12.003A4 4 0 008 52v64a4 4 0 004.003 4h46.76l-3.069 8z\"/><path d=\"M23.873 55.5h96.003c4.417 0 7.004 4.053 5.774 9.063l-13.344 54.374c-1.228 5.005-5.808 9.063-10.223 9.063H6.08c-4.417 0-7.003-4.053-5.774-9.063L13.65 64.563c1.228-5.005 5.808-9.063 10.223-9.063zm1.78 8.5h87.994c2.211 0 3.504 2.093 2.891 4.666l-11.12 46.668c-.614 2.577-2.902 4.666-5.115 4.666H12.31c-2.211 0-3.504-2.093-2.891-4.666l11.12-46.668C21.152 66.09 23.44 64 25.653 64z\"/></g></svg>"
},
"$:/core/images/full-screen-button": {
"title": "$:/core/images/full-screen-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-full-screen-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 8a8 8 0 018-8h32a8 8 0 110 16H16v24a8 8 0 11-16 0V8zM128 120a8 8 0 01-8 8H88a8 8 0 110-16h24V88a8 8 0 1116 0v32zM8 128a8 8 0 01-8-8V88a8 8 0 1116 0v24h24a8 8 0 110 16H8zM120 0a8 8 0 018 8v32a8 8 0 11-16 0V16H88a8 8 0 110-16h32z\"/></svg>"
},
"$:/core/images/github": {
"title": "$:/core/images/github",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-github tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M63.938 1.607c-35.336 0-63.994 28.69-63.994 64.084 0 28.312 18.336 52.329 43.768 60.802 3.202.59 4.37-1.388 4.37-3.088 0-1.518-.056-5.55-.087-10.897-17.802 3.871-21.558-8.591-21.558-8.591-2.911-7.404-7.108-9.375-7.108-9.375-5.81-3.973.44-3.895.44-3.895 6.424.453 9.803 6.606 9.803 6.606 5.709 9.791 14.981 6.963 18.627 5.322.582-4.138 2.236-6.963 4.063-8.564-14.211-1.617-29.153-7.117-29.153-31.672 0-6.995 2.495-12.718 6.589-17.195-.66-1.621-2.856-8.14.629-16.96 0 0 5.37-1.722 17.597 6.57 5.104-1.424 10.58-2.132 16.022-2.16 5.438.028 10.91.736 16.022 2.16 12.22-8.292 17.582-6.57 17.582-6.57 3.493 8.82 1.297 15.339.64 16.96 4.102 4.477 6.578 10.2 6.578 17.195 0 24.618-14.966 30.035-29.22 31.62 2.295 1.98 4.342 5.89 4.342 11.87 0 8.564-.079 15.476-.079 17.576 0 1.715 1.155 3.71 4.4 3.084 25.413-8.493 43.733-32.494 43.733-60.798 0-35.394-28.657-64.084-64.006-64.084\"/></svg>"
},
"$:/core/images/gitter": {
"title": "$:/core/images/gitter",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-gitter tc-image-button\" viewBox=\"0 0 18 25\"><path d=\"M15 5h2v10h-2zM10 5h2v20h-2zM5 5h2v20H5zM0 0h2v15H0z\"/></svg>"
},
"$:/core/images/globe": {
"title": "$:/core/images/globe",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-globe tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M72.811 37.128v2.554c0 2.196.978 6.881 0 8.832-1.466 2.928-4.65 3.54-6.394 5.867-1.182 1.577-4.618 10.601-3.69 12.92 3.969 9.922 11.534 3.187 17.962 9.293.864.821 2.887 2.273 3.296 3.296 3.29 8.223-7.576 15.009 3.757 26.3 1.245 1.24 3.813-3.817 4.079-4.614.852-2.563 6.725-5.45 9.088-7.053 2.02-1.37 4.873-2.667 6.328-4.745 2.27-3.244 1.48-7.514 3.098-10.745 2.139-4.274 3.828-9.635 5.998-13.966 3.898-7.781 4.721 2.093 5.067 2.439.358.357 1.011 0 1.517 0 .094 0 1.447.099 1.516 0 .65-.935-1.043-17.92-1.318-19.297-1.404-7.01-6.944-15.781-11.865-20.5-6.274-6.015-7.09-16.197-18.259-14.954-.204.022-5.084 10.148-7.777 13.512-3.728 4.657-2.47-4.153-6.526-4.153-.081 0-1.183-.103-1.253 0-.586.88-1.44 3.896-2.306 4.417-.265.16-1.722-.239-1.846 0-2.243 4.3 8.256 2.212 5.792 7.952-2.352 5.481-6.328-1.997-6.328 8.56M44.467 7.01c9.685 6.13.682 12.198 2.694 16.215 1.655 3.303 4.241 5.395 1.714 9.814-2.063 3.608-6.87 3.966-9.623 6.723-3.04 3.044-5.464 8.94-6.79 12.911-1.617 4.843 14.547 6.866 12.063 11.008-1.386 2.311-6.746 1.466-8.437.198-1.165-.873-3.593-.546-4.417-1.78-2.613-3.915-2.26-8.023-3.625-12.128-.938-2.822-6.313-2.12-7.844-.593-.523.522-.33 1.792-.33 2.505 0 5.285 7.12 3.316 7.12 6.46 0 14.636 3.927 6.534 11.14 11.336 10.036 6.683 7.844 7.303 14.946 14.404 3.673 3.673 7.741 3.686 9.425 9.294 1.602 5.331-9.327 5.339-11.716 7.448-1.123.991-2.813 4.146-4.219 4.615-1.792.598-3.234.496-4.944 1.78-2.427 1.82-3.9 4.932-4.02 4.81-2.148-2.147-3.52-15.479-3.89-18.257-.588-4.42-5.59-5.54-6.986-9.03-1.57-3.927 1.524-9.52-1.129-13.761-6.52-10.424-11.821-14.5-15.35-26.292-.942-3.148 3.342-6.529 4.877-8.833 1.877-2.816 2.662-5.854 4.746-8.635C22.147 24.19 40.855 9.461 43.857 8.635l.61-1.625z\"/><path d=\"M64 126c34.242 0 62-27.758 62-62 0-34.242-27.758-62-62-62C29.758 2 2 29.758 2 64c0 34.242 27.758 62 62 62zm0-6c30.928 0 56-25.072 56-56S94.928 8 64 8 8 33.072 8 64s25.072 56 56 56z\"/></g></svg>"
},
"$:/core/images/heading-1": {
"title": "$:/core/images/heading-1",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-1 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M14 30h13.25v30.104H61.7V30h13.25v75.684H61.7V71.552H27.25v34.132H14V30zm70.335 13.78c2.544 0 5.017-.212 7.42-.636 2.403-.424 4.576-1.13 6.52-2.12 1.942-.99 3.603-2.261 4.981-3.816 1.378-1.555 2.28-3.463 2.703-5.724h9.858v74.2h-13.25V53.32H84.335v-9.54z\"/></svg>"
},
"$:/core/images/heading-2": {
"title": "$:/core/images/heading-2",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-2 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm119.52 75.684H74.85c.07-6.148 1.555-11.519 4.452-16.112 2.897-4.593 6.855-8.586 11.872-11.978a133.725 133.725 0 017.526-5.141 59.6 59.6 0 007.208-5.353c2.19-1.908 3.993-3.975 5.406-6.201 1.413-2.226 2.155-4.788 2.226-7.685 0-1.343-.159-2.774-.477-4.293a11.357 11.357 0 00-1.855-4.24c-.919-1.307-2.19-2.403-3.816-3.286-1.625-.883-3.745-1.325-6.36-1.325-2.403 0-4.399.477-5.989 1.431-1.59.954-2.862 2.261-3.816 3.922-.954 1.66-1.66 3.622-2.12 5.883-.46 2.261-.724 4.7-.795 7.314H76.23c0-4.099.548-7.897 1.643-11.395 1.095-3.498 2.738-6.519 4.93-9.063 2.19-2.544 4.857-4.54 8.002-5.989C93.95 30.724 97.606 30 101.775 30c4.523 0 8.303.742 11.342 2.226 3.039 1.484 5.494 3.357 7.367 5.618 1.873 2.261 3.198 4.717 3.975 7.367.777 2.65 1.166 5.176 1.166 7.579 0 2.968-.46 5.653-1.378 8.056a25.942 25.942 0 01-3.71 6.625 37.5 37.5 0 01-5.3 5.565 79.468 79.468 0 01-6.148 4.77 165.627 165.627 0 01-6.36 4.24 94.28 94.28 0 00-5.883 4.028c-1.802 1.343-3.374 2.738-4.717 4.187-1.343 1.449-2.261 2.986-2.756 4.611h36.146v10.812z\"/></svg>"
},
"$:/core/images/heading-3": {
"title": "$:/core/images/heading-3",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-3 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm88.885 32.224c1.979.07 3.957-.07 5.936-.424 1.979-.353 3.745-.972 5.3-1.855a10.365 10.365 0 003.763-3.657c.954-1.555 1.431-3.463 1.431-5.724 0-3.18-1.078-5.724-3.233-7.632-2.155-1.908-4.929-2.862-8.32-2.862-2.12 0-3.958.424-5.513 1.272a11.318 11.318 0 00-3.869 3.445c-1.025 1.449-1.784 3.074-2.279 4.876a18.335 18.335 0 00-.636 5.565H75.381c.141-3.604.813-6.943 2.014-10.017 1.201-3.074 2.844-5.742 4.93-8.003 2.084-2.261 4.61-4.028 7.578-5.3C92.871 30.636 96.228 30 99.973 30a29.2 29.2 0 018.533 1.272c2.791.848 5.3 2.085 7.526 3.71s4.01 3.692 5.353 6.201c1.343 2.509 2.014 5.388 2.014 8.639 0 3.745-.848 7.014-2.544 9.805-1.696 2.791-4.346 4.823-7.95 6.095v.212c4.24.848 7.544 2.95 9.911 6.307s3.551 7.438 3.551 12.243c0 3.533-.707 6.696-2.12 9.487a21.538 21.538 0 01-5.724 7.102c-2.403 1.943-5.194 3.445-8.374 4.505-3.18 1.06-6.537 1.59-10.07 1.59-4.31 0-8.074-.618-11.289-1.855s-5.9-2.986-8.056-5.247c-2.155-2.261-3.798-4.982-4.929-8.162-1.13-3.18-1.731-6.713-1.802-10.6h12.084c-.141 4.523.972 8.286 3.34 11.289 2.366 3.003 5.917 4.505 10.652 4.505 4.028 0 7.402-1.148 10.123-3.445 2.72-2.297 4.081-5.565 4.081-9.805 0-2.897-.565-5.194-1.696-6.89a10.97 10.97 0 00-4.452-3.869c-1.837-.883-3.904-1.431-6.2-1.643a58.067 58.067 0 00-7.05-.212v-9.01z\"/></svg>"
},
"$:/core/images/heading-4": {
"title": "$:/core/images/heading-4",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-4 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8 30h13.25v30.104H55.7V30h13.25v75.684H55.7V71.552H21.25v34.132H8V30zm76.59 48.548h22.471V45.9h-.212L84.59 78.548zm43.46 9.54h-9.54v17.596H107.06V88.088h-31.8V76.11l31.8-44.626h11.448v47.064h9.54v9.54z\"/></svg>"
},
"$:/core/images/heading-5": {
"title": "$:/core/images/heading-5",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-5 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm77.755 1.484h38.372v10.812H92.765L88.95 61.164l.212.212c1.625-1.837 3.692-3.233 6.201-4.187 2.509-.954 5-1.431 7.473-1.431 3.675 0 6.96.618 9.858 1.855 2.897 1.237 5.335 2.968 7.314 5.194s3.48 4.858 4.505 7.897c1.025 3.039 1.537 6.325 1.537 9.858 0 2.968-.477 6.024-1.43 9.169a25.161 25.161 0 01-4.559 8.586c-2.085 2.58-4.752 4.7-8.003 6.36-3.25 1.66-7.137 2.491-11.66 2.491-3.604 0-6.943-.477-10.017-1.431-3.074-.954-5.777-2.385-8.109-4.293-2.332-1.908-4.187-4.258-5.565-7.049-1.378-2.791-2.138-6.06-2.279-9.805h12.084c.353 4.028 1.731 7.12 4.134 9.275 2.403 2.155 5.583 3.233 9.54 3.233 2.544 0 4.7-.424 6.466-1.272 1.767-.848 3.198-2.014 4.293-3.498 1.095-1.484 1.873-3.215 2.332-5.194.46-1.979.69-4.099.69-6.36 0-2.05-.284-4.01-.849-5.883-.565-1.873-1.413-3.516-2.544-4.929-1.13-1.413-2.597-2.544-4.399-3.392-1.802-.848-3.904-1.272-6.307-1.272-2.544 0-4.929.477-7.155 1.431-2.226.954-3.834 2.738-4.823 5.353H75.805l7.95-40.598z\"/></svg>"
},
"$:/core/images/heading-6": {
"title": "$:/core/images/heading-6",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-heading-6 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm106.587 20.246c-.283-3.039-1.36-5.494-3.233-7.367-1.873-1.873-4.399-2.809-7.579-2.809-2.19 0-4.08.406-5.67 1.219a12.435 12.435 0 00-4.029 3.233c-1.095 1.343-1.979 2.88-2.65 4.611a37.696 37.696 0 00-1.643 5.459 46.08 46.08 0 00-.9 5.671 722.213 722.213 0 00-.478 5.247l.212.212c1.625-2.968 3.87-5.176 6.731-6.625 2.862-1.449 5.954-2.173 9.275-2.173 3.675 0 6.96.636 9.858 1.908 2.897 1.272 5.353 3.021 7.367 5.247 2.014 2.226 3.551 4.858 4.611 7.897 1.06 3.039 1.59 6.325 1.59 9.858 0 3.604-.583 6.943-1.749 10.017-1.166 3.074-2.844 5.76-5.035 8.056-2.19 2.297-4.805 4.081-7.844 5.353-3.039 1.272-6.395 1.908-10.07 1.908-5.441 0-9.91-1.007-13.409-3.021-3.498-2.014-6.254-4.77-8.268-8.268-2.014-3.498-3.41-7.597-4.187-12.296-.777-4.7-1.166-9.77-1.166-15.211 0-4.452.477-8.94 1.431-13.462.954-4.523 2.526-8.639 4.717-12.349 2.19-3.71 5.07-6.731 8.64-9.063C92.676 31.166 97.075 30 102.304 30c2.968 0 5.76.495 8.374 1.484 2.615.99 4.93 2.367 6.943 4.134 2.014 1.767 3.657 3.887 4.93 6.36 1.271 2.473 1.978 5.23 2.12 8.268h-12.085zm-11.66 46.852c2.19 0 4.099-.442 5.724-1.325a12.869 12.869 0 004.081-3.445c1.095-1.413 1.908-3.056 2.438-4.929.53-1.873.795-3.798.795-5.777s-.265-3.887-.795-5.724c-.53-1.837-1.343-3.445-2.438-4.823-1.095-1.378-2.456-2.491-4.08-3.339-1.626-.848-3.534-1.272-5.725-1.272-2.19 0-4.116.406-5.777 1.219-1.66.813-3.056 1.908-4.187 3.286-1.13 1.378-1.979 2.986-2.544 4.823-.565 1.837-.848 3.78-.848 5.83 0 2.05.283 3.993.848 5.83.565 1.837 1.413 3.48 2.544 4.929a12.39 12.39 0 004.187 3.445c1.66.848 3.586 1.272 5.777 1.272z\"/></svg>"
},
"$:/core/images/help": {
"title": "$:/core/images/help",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-help tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M36.055 111.441c-5.24 4.396-15.168 7.362-26.555 7.362-1.635 0-3.24-.06-4.806-.179 7.919-2.64 14.062-8.6 16.367-16.014C8.747 92.845 1.05 78.936 1.05 63.5c0-29.547 28.206-53.5 63-53.5s63 23.953 63 53.5-28.206 53.5-63 53.5c-10.055 0-19.56-2-27.994-5.559zm35.35-33.843a536.471 536.471 0 00.018-4.682 199.02 199.02 0 00-.023-3.042c.008-1.357.595-2.087 3.727-4.235.112-.077 1.085-.74 1.386-.948 3.093-2.133 5.022-3.786 6.762-6.187 2.34-3.228 3.558-7.077 3.558-11.649 0-13.292-9.86-21.952-21.455-21.952-11.103 0-22.499 9.609-24.066 22.295a6.023 6.023 0 1011.956 1.477c.806-6.527 6.972-11.726 12.11-11.726 5.265 0 9.408 3.64 9.408 9.906 0 3.634-1.1 5.153-5.111 7.919l-1.362.93c-2.682 1.84-4.227 3.1-5.7 4.931-2.109 2.62-3.242 5.717-3.258 9.314.013.892.02 1.86.022 2.981a470.766 470.766 0 01-.022 4.943 6.023 6.023 0 1012.046.12l.003-.395zm-6.027 24.499a7.529 7.529 0 100-15.058 7.529 7.529 0 000 15.058z\"/></svg>"
},
"$:/core/images/home-button": {
"title": "$:/core/images/home-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112.985 119.502c.01-.165.015-.331.015-.499V67.568c3.137 2.948 8.076 2.884 11.134-.174a7.999 7.999 0 00-.002-11.316L70.396 2.343A7.978 7.978 0 0064.734 0a7.957 7.957 0 00-5.656 2.343L33 28.42V8.007C33 3.585 29.41 0 25 0c-4.418 0-8 3.59-8 8.007V44.42L5.342 56.078c-3.125 3.125-3.12 8.198-.002 11.316a7.999 7.999 0 0011.316-.003l.344-.343v52.945a8.11 8.11 0 000 .007c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8a8.11 8.11 0 00-.015-.498zM97 112V51.574L64.737 19.31 33 51.048V112h64z\"/></svg>"
},
"$:/core/images/import-button": {
"title": "$:/core/images/import-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-import-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M114.832 60.436s3.235-3.27 6.921.417c3.686 3.686.231 7.14.231 7.14l-42.153 42.92s-30.765 32.367-58.798 4.333C-7 87.213 24.59 55.623 24.59 55.623L67.363 12.85s22.725-24.6 43.587-3.738c20.862 20.862-3.96 43.09-3.96 43.09l-35.04 35.04S49.903 112.546 36.426 99.07c-13.476-13.477 11.83-35.523 11.83-35.523l35.04-35.04s3.902-3.902 7.78-.023c3.879 3.878.118 7.921.118 7.921l-35.04 35.04s-13.212 13.212-8.872 17.551c4.34 4.34 16.77-9.653 16.77-9.653l35.04-35.04s16.668-14.598 3.966-27.3c-13.893-13.892-27.565 3.702-27.565 3.702l-42.91 42.91s-23.698 23.698-3.658 43.738 43.012-4.385 43.012-4.385l42.895-42.533z\"/></svg>"
},
"$:/core/images/info-button": {
"title": "$:/core/images/info-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/><circle cx=\"64\" cy=\"32\" r=\"8\"/><rect width=\"16\" height=\"56\" x=\"56\" y=\"48\" rx=\"8\"/></g></svg>"
},
"$:/core/images/italic": {
"title": "$:/core/images/italic",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-italic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M66.711 0h22.41L62.408 128H40z\"/></svg>"
},
"$:/core/images/left-arrow": {
"title": "$:/core/images/left-arrow",
"created": "20150315234410875",
"modified": "20150315235324760",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-left-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 64.177c0-2.026.771-4.054 2.317-5.6l55.98-55.98a7.92 7.92 0 0111.195.001c3.086 3.085 3.092 8.104.001 11.195L19.111 64.175l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.086-8.105 3.092-11.196.001l-55.98-55.98A7.892 7.892 0 010 64.177z\"/></svg>"
},
"$:/core/images/line-width": {
"title": "$:/core/images/line-width",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-line-width tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M16 18h96a2 2 0 000-4H16a2 2 0 100 4zm0 17h96a4 4 0 100-8H16a4 4 0 100 8zm0 21h96a6 6 0 000-12H16a6 6 0 100 12zm0 29h96c5.523 0 10-4.477 10-10s-4.477-10-10-10H16c-5.523 0-10 4.477-10 10s4.477 10 10 10zm0 43h96c8.837 0 16-7.163 16-16s-7.163-16-16-16H16c-8.837 0-16 7.163-16 16s7.163 16 16 16z\"/></svg>"
},
"$:/core/images/link": {
"title": "$:/core/images/link",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-link tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M42.263 69.38a31.919 31.919 0 006.841 10.13c12.5 12.5 32.758 12.496 45.255 0l22.627-22.628c12.502-12.501 12.497-32.758 0-45.255-12.5-12.5-32.758-12.496-45.254 0L49.104 34.255a32.333 32.333 0 00-2.666 3.019 36.156 36.156 0 0121.94.334l14.663-14.663c6.25-6.25 16.382-6.254 22.632-.004 6.248 6.249 6.254 16.373-.004 22.631l-22.62 22.62c-6.25 6.25-16.381 6.254-22.631.004a15.93 15.93 0 01-4.428-8.433 11.948 11.948 0 00-7.59 3.48l-6.137 6.137z\"/><path d=\"M86.35 59.234a31.919 31.919 0 00-6.84-10.13c-12.5-12.5-32.758-12.497-45.255 0L11.627 71.732c-12.501 12.5-12.496 32.758 0 45.254 12.5 12.5 32.758 12.497 45.255 0L79.51 94.36a32.333 32.333 0 002.665-3.02 36.156 36.156 0 01-21.94-.333l-14.663 14.663c-6.25 6.25-16.381 6.253-22.63.004-6.25-6.249-6.255-16.374.003-22.632l22.62-22.62c6.25-6.25 16.381-6.253 22.631-.003a15.93 15.93 0 014.428 8.432 11.948 11.948 0 007.59-3.48l6.137-6.136z\"/></g></svg>"
},
"$:/core/images/linkify": {
"title": "$:/core/images/linkify",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\"/></svg>"
},
"$:/core/images/list-bullet": {
"title": "$:/core/images/list-bullet",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-bullet tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M11.636 40.273c6.427 0 11.637-5.21 11.637-11.637C23.273 22.21 18.063 17 11.636 17 5.21 17 0 22.21 0 28.636c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.637 0-6.426-5.21-11.636-11.637-11.636C5.21 51.91 0 57.12 0 63.545c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.636 0-6.427-5.21-11.637-11.637-11.637C5.21 86.818 0 92.028 0 98.455c0 6.426 5.21 11.636 11.636 11.636zM34.91 22.818H128v11.637H34.91V22.818zm0 34.91H128v11.636H34.91V57.727zm0 34.908H128v11.637H34.91V92.636z\"/></svg>"
},
"$:/core/images/list-number": {
"title": "$:/core/images/list-number",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list-number tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M33.84 22.356H128v11.77H33.84v-11.77zm0 35.31H128v11.77H33.84v-11.77zm0 35.311H128v11.77H33.84v-11.77zM.38 42.631v-2.223h.998c.826 0 1.445-.14 1.858-.42.413-.28.619-.948.619-2.002V22.769c0-1.442-.193-2.336-.58-2.683-.385-.347-1.477-.52-3.275-.52v-2.143c3.502-.147 6.252-.955 8.25-2.423h2.117v22.865c0 .921.15 1.575.449 1.963.3.387.949.58 1.948.58h.998v2.223H.38zm-.3 35.356v-1.902c7.19-6.554 10.786-12.58 10.786-18.08 0-1.562-.326-2.81-.979-3.744-.652-.934-1.524-1.402-2.616-1.402-.893 0-1.655.317-2.287.952-.633.634-.95 1.364-.95 2.192 0 .974.247 1.829.74 2.563.106.16.16.28.16.36 0 .147-.16.28-.48.4-.213.08-.752.308-1.618.681-.839.374-1.358.561-1.558.561-.24 0-.512-.37-.819-1.111A6.2 6.2 0 010 57.064c0-1.949.849-3.544 2.547-4.785 1.698-1.242 3.798-1.862 6.302-1.862 2.463 0 4.53.67 6.202 2.012 1.67 1.341 2.506 3.093 2.506 5.256a8.644 8.644 0 01-.849 3.724c-.566 1.201-1.92 3.053-4.064 5.556a165.471 165.471 0 01-6.272 6.938h11.445l-1.019 5.726h-2.117c.08-.28.12-.534.12-.76 0-.388-.1-.631-.3-.731-.2-.1-.599-.15-1.198-.15H.08zm12.124 19.207c1.745.04 3.236.637 4.474 1.792 1.239 1.154 1.858 2.773 1.858 4.855 0 2.99-1.132 5.393-3.396 7.208-2.263 1.815-5 2.723-8.209 2.723-2.01 0-3.669-.384-4.974-1.151C.652 111.853 0 110.849 0 109.607c0-.774.27-1.398.809-1.872.54-.474 1.128-.71 1.768-.71.639 0 1.162.2 1.568.6.406.4.782 1.055 1.128 1.962.466 1.268 1.239 1.902 2.317 1.902 1.265 0 2.287-.477 3.066-1.431.78-.955 1.169-2.686 1.169-5.196 0-1.709-.12-3.023-.36-3.944-.24-.921-.792-1.382-1.658-1.382-.586 0-1.185.307-1.797.921-.493.494-.932.741-1.319.741-.333 0-.602-.147-.809-.44-.206-.294-.31-.574-.31-.841 0-.32.104-.594.31-.821.207-.227.69-.594 1.449-1.102 2.876-1.922 4.314-4.017 4.314-6.287 0-1.188-.306-2.092-.919-2.713a3.001 3.001 0 00-2.217-.93c-.799 0-1.525.263-2.177.79-.653.528-.979 1.158-.979 1.892 0 .641.253 1.235.76 1.782.172.2.259.367.259.5 0 .121-.57.428-1.708.922-1.139.494-1.854.74-2.147.74-.413 0-.75-.333-1.009-1-.26-.668-.39-1.282-.39-1.842 0-1.749.93-3.224 2.787-4.425 1.858-1.202 3.965-1.802 6.322-1.802 2.064 0 3.851.447 5.363 1.341 1.511.895 2.267 2.116 2.267 3.664 0 1.362-.57 2.623-1.708 3.784a13.387 13.387 0 01-3.945 2.784z\"/></svg>"
},
"$:/core/images/list": {
"title": "$:/core/images/list",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-list tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M87.748 128H23.999c-4.418 0-7.999-3.59-7.999-8.007V8.007C16 3.585 19.588 0 24 0h80c4.419 0 8 3.59 8 8.007V104H91.25c-.965 0-1.84.392-2.473 1.025a3.476 3.476 0 00-1.029 2.476V128zm8-.12l15.88-15.88h-15.88v15.88zM40 15.508A3.502 3.502 0 0143.5 12h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 20h-55a3.498 3.498 0 01-3.5-3.509v-.982zM32 22a6 6 0 100-12 6 6 0 000 12zm8 9.509A3.502 3.502 0 0143.5 28h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 36h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 44h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 52h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 60h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 68h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 76h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 84h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 92h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 100h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.505 3.505 0 0143.497 108h33.006A3.497 3.497 0 0180 111.509v.982A3.505 3.505 0 0176.503 116H43.497A3.497 3.497 0 0140 112.491v-.982zM32 38a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12z\"/></svg>"
},
"$:/core/images/locked-padlock": {
"title": "$:/core/images/locked-padlock",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-locked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M96.472 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h8c.003-15.723.303-47.731 32.16-47.731 31.794 0 32.305 32.057 32.312 47.731zm-15.897 0H48.44c.002-16.287.142-32 15.719-32 15.684 0 16.977 16.136 16.415 32zM67.732 92.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
},
"$:/core/images/mail": {
"title": "$:/core/images/mail",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mail tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M122.827 104.894a7.986 7.986 0 01-2.834.516H8.007c-.812 0-1.597-.12-2.335-.345l34.163-34.163 20.842 20.842a3.998 3.998 0 003.418 1.134 4.003 4.003 0 003.395-1.134L88.594 70.64c.075.09.155.176.24.26l33.993 33.994zm5.076-6.237c.064-.406.097-.823.097-1.247v-64c0-.669-.082-1.318-.237-1.94L94.23 65.006c.09.075.177.154.261.239l33.413 33.413zm-127.698.56A8.023 8.023 0 010 97.41v-64c0-.716.094-1.41.271-2.071l33.907 33.906L.205 99.218zM5.93 25.684a8.012 8.012 0 012.078-.273h111.986c.766 0 1.507.108 2.209.308L64.083 83.837 5.93 25.683z\"/></svg>"
},
"$:/core/images/menu-button": {
"title": "$:/core/images/menu-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\"><rect width=\"128\" height=\"16\" y=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"56\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"96\" rx=\"8\"/></svg>"
},
"$:/core/images/mono-block": {
"title": "$:/core/images/mono-block",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-block tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M23.965 32.967h.357c.755 0 1.328.192 1.72.577.39.384.586.947.586 1.688 0 .824-.206 1.418-.618 1.782-.413.363-1.094.545-2.045.545h-6.31c-.965 0-1.65-.178-2.056-.535-.405-.356-.608-.954-.608-1.792 0-.811.203-1.391.608-1.74.406-.35 1.09-.525 2.055-.525h.734l-.86-2.453H8.471l-.902 2.453h.734c.95 0 1.632.178 2.044.535.413.356.619.933.619 1.73 0 .824-.206 1.418-.619 1.782-.412.363-1.094.545-2.044.545h-5.41c-.964 0-1.649-.182-2.054-.545-.406-.364-.608-.958-.608-1.782 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.719-.577h.356l5.62-15.641H6.835c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.95-.619-1.76 0-.825.207-1.42.619-1.783.412-.363 1.094-.545 2.044-.545h7.863c1.244 0 2.118.67 2.62 2.013v.063l6.647 18.2zM12.98 17.326l-3.04 8.848h6.08l-3.04-8.848zm22.402 9.372v6.395h3.145c2.223 0 3.788-.245 4.697-.734.908-.49 1.362-1.307 1.362-2.453 0-1.16-.433-1.985-1.3-2.474-.866-.49-2.383-.734-4.55-.734h-3.354zm10.693-2.327c1.524.559 2.642 1.324 3.355 2.295.713.972 1.07 2.212 1.07 3.722 0 1.272-.308 2.432-.923 3.48-.615 1.049-1.496 1.909-2.642 2.58a7.499 7.499 0 01-2.254.849c-.832.174-2.01.262-3.533.262H30.202c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.782 0-.741.189-1.304.566-1.688.378-.385.93-.577 1.657-.577h.356V17.326h-.356c-.727 0-1.28-.196-1.657-.587-.377-.392-.566-.965-.566-1.72 0-.81.203-1.401.608-1.771.406-.37 1.062-.556 1.971-.556h9.645c2.95 0 5.19.573 6.72 1.72 1.53 1.145 2.296 2.823 2.296 5.031 0 1.09-.234 2.052-.703 2.883-.468.832-1.163 1.513-2.086 2.045zM35.381 17.2v5.284h2.83c1.72 0 2.932-.203 3.638-.609.706-.405 1.06-1.09 1.06-2.054 0-.909-.319-1.573-.955-1.992-.636-.42-1.667-.63-3.093-.63h-3.48zm35.863-3.816c.28-.503.566-.86.86-1.07.293-.21.664-.314 1.111-.314.685 0 1.17.182 1.457.545.287.364.43.986.43 1.866l.042 5.452c0 .964-.157 1.614-.472 1.95-.314.335-.884.503-1.709.503-.587 0-1.037-.14-1.352-.42-.314-.28-.584-.796-.807-1.551-.364-1.328-.944-2.282-1.74-2.862-.797-.58-1.901-.87-3.313-.87-2.153 0-3.802.727-4.948 2.18-1.147 1.454-1.72 3.558-1.72 6.311 0 2.74.58 4.844 1.74 6.311 1.16 1.468 2.817 2.202 4.97 2.202 1.467 0 3.085-.49 4.854-1.468 1.768-.978 2.883-1.467 3.344-1.467.545 0 1.003.23 1.373.692.37.46.556 1.034.556 1.719 0 1.23-1.084 2.39-3.25 3.48-2.167 1.09-4.606 1.636-7.318 1.636-3.662 0-6.625-1.21-8.89-3.627-2.264-2.419-3.396-5.578-3.396-9.478 0-3.76 1.146-6.884 3.438-9.372 2.293-2.488 5.2-3.732 8.723-3.732.992 0 1.97.112 2.935.335.964.224 1.992.574 3.082 1.049zm10.22 19.583V17.326h-.356c-.755 0-1.328-.196-1.72-.587-.39-.392-.586-.965-.586-1.72 0-.81.21-1.401.629-1.771.42-.37 1.097-.556 2.034-.556h5.178c2.922 0 5.06.126 6.416.377 1.356.252 2.51.671 3.46 1.258 1.691 1.007 2.988 2.443 3.89 4.31.9 1.865 1.352 4.021 1.352 6.467 0 2.586-.514 4.847-1.541 6.783-1.028 1.936-2.485 3.4-4.372 4.393-.853.447-1.852.772-2.998.975-1.147.203-2.852.304-5.116.304h-6.269c-.965 0-1.65-.178-2.055-.535-.406-.356-.608-.954-.608-1.792 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.72-.577h.356zm5.41-15.725v15.725h1.195c2.642 0 4.592-.646 5.85-1.94 1.258-1.292 1.887-3.28 1.887-5.965 0-2.641-.64-4.612-1.918-5.912-1.28-1.3-3.205-1.95-5.777-1.95-.335 0-.59.003-.765.01a7.992 7.992 0 00-.472.032zm35.067-.126h-9.75v5.368h3.69v-.252c0-.797.175-1.39.524-1.782.35-.392.88-.587 1.594-.587.629 0 1.142.178 1.54.534.4.357.598.808.598 1.353 0 .028.007.118.021.272.014.154.021.308.021.462v4.34c0 .936-.167 1.607-.503 2.013-.335.405-.88.608-1.635.608-.713 0-1.251-.19-1.615-.567-.363-.377-.545-.936-.545-1.677v-.377h-3.69v6.269h9.75v-2.495c0-.937.178-1.608.534-2.013.357-.405.94-.608 1.75-.608.798 0 1.367.2 1.71.597.342.399.513 1.073.513 2.024v5.074c0 .755-.146 1.258-.44 1.51-.293.251-.873.377-1.74.377h-17.172c-.923 0-1.583-.182-1.982-.545-.398-.364-.597-.958-.597-1.782 0-.741.189-1.304.566-1.688.377-.385.93-.577 1.656-.577h.357V17.326h-.357c-.712 0-1.261-.2-1.646-.598-.384-.398-.576-.968-.576-1.709 0-.81.203-1.401.608-1.771.405-.37 1.062-.556 1.97-.556h17.173c.853 0 1.43.13 1.73.388.3.258.45.772.45 1.54v4.698c0 .95-.174 1.631-.524 2.044-.35.412-.915.618-1.698.618-.81 0-1.394-.21-1.75-.629-.357-.419-.535-1.097-.535-2.033v-2.202zM19.77 47.641c.267-.504.55-.86.85-1.07.3-.21.675-.314 1.122-.314.685 0 1.17.181 1.457.545.287.363.43.985.43 1.866l.042 5.451c0 .965-.157 1.615-.472 1.95-.314.336-.891.504-1.73.504-.587 0-1.045-.144-1.373-.43-.329-.287-.598-.8-.807-1.541-.378-1.342-.958-2.3-1.74-2.873-.783-.573-1.88-.86-3.292-.86-2.153 0-3.799.727-4.938 2.181-1.14 1.454-1.709 3.557-1.709 6.311s.598 4.882 1.793 6.385C10.599 67.248 12.294 68 14.488 68c.503 0 1.077-.06 1.72-.179a23.809 23.809 0 002.264-.555v-3.313h-2.37c-.95 0-1.624-.175-2.023-.524-.398-.35-.597-.93-.597-1.74 0-.84.199-1.437.597-1.793.399-.357 1.073-.535 2.024-.535h7.569c.978 0 1.667.175 2.065.524.398.35.598.937.598 1.762 0 .74-.2 1.31-.598 1.708-.398.399-.975.598-1.73.598h-.335v5.242c0 .447-.05.758-.147.933-.098.174-.293.353-.587.534-.797.476-2.062.895-3.795 1.258a25.576 25.576 0 01-5.263.546c-3.662 0-6.625-1.21-8.89-3.628-2.264-2.418-3.397-5.577-3.397-9.477 0-3.76 1.147-6.884 3.44-9.372 2.292-2.488 5.199-3.732 8.721-3.732.979 0 1.954.112 2.925.335.972.224 2.003.573 3.093 1.049zm15.84 3.941v4.823h6.857v-4.823h-.336c-.754 0-1.331-.195-1.73-.587-.398-.391-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.364 1.093-.545 2.044-.545h5.41c.95 0 1.624.181 2.023.545.398.363.597.957.597 1.782 0 .755-.192 1.328-.576 1.72-.385.39-.947.586-1.688.586h-.357v15.642h.357c.755 0 1.328.192 1.719.576.391.385.587.947.587 1.688 0 .825-.203 1.419-.608 1.782-.405.364-1.09.546-2.055.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.2-1.303.598-1.688.398-.384.975-.576 1.73-.576h.335v-6.186h-6.856v6.186h.335c.755 0 1.331.192 1.73.576.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.412.364-1.094.546-2.044.546h-5.41c-.964 0-1.65-.179-2.055-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.392-.384.965-.576 1.72-.576h.356V51.582h-.356c-.741 0-1.304-.195-1.688-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.073-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.335zm31.754 0v15.642h3.523c.95 0 1.632.178 2.044.534.412.357.618.933.618 1.73 0 .811-.21 1.402-.629 1.772-.419.37-1.097.556-2.033.556H58.433c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.957-.619-1.782 0-.81.203-1.39.608-1.74.406-.35 1.09-.524 2.055-.524h3.523V51.582h-3.523c-.95 0-1.632-.181-2.044-.545-.412-.363-.619-.95-.619-1.761 0-.825.203-1.412.608-1.761.406-.35 1.09-.524 2.055-.524h12.455c.992 0 1.684.174 2.075.524.392.35.587.936.587 1.761 0 .81-.202 1.398-.608 1.761-.405.364-1.09.545-2.054.545h-3.523zm30.496 0v11.994c0 1.873-.122 3.228-.367 4.067a5.876 5.876 0 01-1.227 2.244c-.74.852-1.768 1.495-3.082 1.929-1.314.433-2.893.65-4.738.65-1.3 0-2.555-.126-3.764-.378a16.843 16.843 0 01-3.491-1.132c-.615-.28-1.017-.643-1.206-1.09-.188-.448-.283-1.175-.283-2.18v-4.32c0-1.202.175-2.04.525-2.516.349-.475.957-.713 1.824-.713 1.244 0 1.929.915 2.054 2.747.014.321.035.566.063.733.168 1.622.545 2.73 1.133 3.324.587.594 1.523.89 2.81.89 1.593 0 2.714-.422 3.364-1.268.65-.845.975-2.386.975-4.623V51.582H88.93c-.95 0-1.632-.181-2.044-.545-.413-.363-.619-.95-.619-1.761 0-.825.2-1.412.598-1.761.398-.35 1.086-.524 2.065-.524h10.693c.979 0 1.667.174 2.065.524.399.35.598.936.598 1.761 0 .81-.206 1.398-.619 1.761-.412.364-1.093.545-2.044.545h-1.761zm14.644 0v6.353l6.48-6.478c-.728-.084-1.238-.29-1.531-.619-.294-.328-.44-.85-.44-1.562 0-.825.198-1.419.597-1.782.398-.364 1.073-.545 2.023-.545h5.137c.95 0 1.625.181 2.023.545.399.363.598.957.598 1.782 0 .769-.2 1.345-.598 1.73-.398.384-.982.576-1.75.576h-.483l-6.101 6.06c1.132.839 2.167 1.94 3.103 3.302.937 1.363 2.034 3.456 3.292 6.28h.692c.825 0 1.44.188 1.845.566.405.377.608.943.608 1.698 0 .825-.206 1.419-.619 1.782-.412.364-1.093.546-2.044.546h-2.579c-1.132 0-2.048-.762-2.746-2.286-.126-.28-.224-.503-.294-.67-.923-1.958-1.768-3.467-2.537-4.53a16.616 16.616 0 00-2.705-2.914l-1.97 1.887v3.92h.335c.755 0 1.331.193 1.73.577.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.413.364-1.094.546-2.045.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.391-.384.965-.576 1.72-.576h.356V51.582h-.357c-.74 0-1.303-.195-1.687-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.072-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.336zM13.44 96.326l4.005-11.889c.251-.782.6-1.352 1.048-1.709.447-.356 1.041-.534 1.782-.534h3.271c.95 0 1.632.182 2.044.545.413.363.619.957.619 1.782 0 .755-.2 1.328-.598 1.72-.398.39-.975.587-1.73.587h-.335l.587 15.641h.357c.754 0 1.32.192 1.698.577.377.384.566.947.566 1.687 0 .825-.2 1.42-.598 1.783-.398.363-1.072.545-2.023.545h-4.718c-.95 0-1.624-.178-2.023-.535-.398-.356-.597-.954-.597-1.793 0-.74.192-1.303.576-1.687.385-.385.954-.577 1.709-.577h.335l-.293-12.79-3.061 9.52c-.224.712-.542 1.226-.954 1.54-.413.315-.982.472-1.709.472-.727 0-1.303-.157-1.73-.472-.426-.314-.751-.828-.975-1.54l-3.04-9.52-.294 12.79h.336c.755 0 1.324.192 1.709.577.384.384.576.947.576 1.687 0 .825-.202 1.42-.608 1.783-.405.363-1.076.545-2.013.545H2.621c-.937 0-1.608-.182-2.013-.545-.405-.364-.608-.958-.608-1.783 0-.74.192-1.303.577-1.687.384-.385.954-.577 1.708-.577h.336l.608-15.641h-.336c-.754 0-1.331-.196-1.73-.588-.398-.39-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.363 1.093-.545 2.044-.545h3.27c.728 0 1.311.175 1.752.524.44.35.8.923 1.08 1.72l4.109 11.888zm30.454 2.054V86.828H42.74c-.922 0-1.583-.182-1.981-.546-.398-.363-.598-.95-.598-1.76 0-.812.2-1.402.598-1.773.398-.37 1.059-.555 1.981-.555h5.955c.909 0 1.566.185 1.97.555.406.37.609.961.609 1.772 0 .741-.192 1.31-.577 1.709-.384.398-.933.598-1.646.598h-.356v19.038c0 .657-.07 1.069-.21 1.237-.14.167-.454.251-.943.251h-2.097c-.67 0-1.143-.07-1.415-.21-.273-.14-.507-.384-.703-.733l-8.722-15.327v11.385h1.216c.909 0 1.559.175 1.95.524.392.35.587.93.587 1.74 0 .825-.199 1.42-.597 1.783-.399.363-1.045.545-1.94.545h-6.017c-.909 0-1.566-.182-1.971-.545-.406-.364-.608-.958-.608-1.783 0-.74.188-1.303.566-1.687.377-.385.936-.577 1.677-.577h.336V86.828h-.336c-.713 0-1.265-.2-1.656-.598-.392-.398-.587-.968-.587-1.709 0-.81.206-1.401.618-1.772.413-.37 1.066-.555 1.96-.555h3.44c.824 0 1.383.108 1.677.325.293.216.622.653.985 1.31l7.989 14.551zM64.66 86.366c-1.803 0-3.218.727-4.245 2.18-1.028 1.455-1.541 3.474-1.541 6.06 0 2.586.517 4.613 1.551 6.08 1.034 1.468 2.446 2.202 4.235 2.202 1.804 0 3.222-.73 4.257-2.19 1.034-1.461 1.551-3.492 1.551-6.092 0-2.586-.513-4.605-1.54-6.06-1.028-1.453-2.45-2.18-4.268-2.18zm0-4.864c3.44 0 6.27 1.23 8.492 3.69 2.223 2.46 3.334 5.598 3.334 9.414 0 3.844-1.104 6.99-3.313 9.436-2.208 2.446-5.046 3.669-8.513 3.669-3.424 0-6.255-1.234-8.491-3.701-2.237-2.467-3.355-5.602-3.355-9.404 0-3.83 1.108-6.971 3.323-9.424 2.216-2.454 5.057-3.68 8.523-3.68zM87.461 98.17v4.298h2.16c.908 0 1.555.175 1.94.524.384.35.576.93.576 1.74 0 .825-.196 1.42-.587 1.783-.392.363-1.035.545-1.93.545h-7.254c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.783 0-.74.189-1.303.566-1.687.378-.385.93-.577 1.657-.577h.356V86.828h-.356c-.713 0-1.262-.2-1.646-.598-.385-.398-.577-.968-.577-1.709 0-.81.203-1.401.608-1.772.406-.37 1.063-.555 1.971-.555h8.66c3.424 0 6.014.657 7.768 1.97 1.754 1.315 2.631 3.25 2.631 5.809 0 2.697-.873 4.738-2.62 6.122-1.748 1.384-4.34 2.076-7.78 2.076h-3.564zm0-11.343v6.625h2.977c1.65 0 2.89-.28 3.722-.839.832-.559 1.248-1.397 1.248-2.516 0-1.048-.43-1.855-1.29-2.421-.86-.566-2.086-.85-3.68-.85h-2.977zm27.267 20.568l-1.636 1.636a12.37 12.37 0 011.772-.44c.58-.098 1.15-.147 1.709-.147 1.104 0 2.268.164 3.491.492 1.223.329 1.967.493 2.233.493.447 0 1.03-.15 1.75-.45.72-.301 1.206-.452 1.458-.452.517 0 .947.2 1.29.598.342.398.513.898.513 1.5 0 .796-.472 1.474-1.415 2.033-.944.56-2.1.839-3.47.839-.937 0-2.139-.22-3.607-.66-1.467-.441-2.53-.661-3.187-.661-.992 0-2.11.272-3.354.817-1.244.546-2.013.818-2.307.818a2.14 2.14 0 01-1.53-.597c-.42-.399-.63-.878-.63-1.437 0-.391.134-.807.4-1.247.265-.44.733-1.01 1.404-1.709l2.118-2.139c-2.335-.852-4.194-2.386-5.578-4.602-1.384-2.215-2.075-4.763-2.075-7.642 0-3.802 1.104-6.909 3.312-9.32 2.209-2.411 5.053-3.617 8.534-3.617 3.467 0 6.304 1.209 8.513 3.627 2.208 2.418 3.312 5.522 3.312 9.31 0 3.774-1.097 6.884-3.291 9.33-2.195 2.446-4.977 3.67-8.345 3.67a22.5 22.5 0 01-1.384-.043zm1.195-21.03c-1.803 0-3.218.727-4.246 2.18-1.027 1.455-1.54 3.474-1.54 6.06 0 2.586.516 4.613 1.55 6.08 1.035 1.468 2.447 2.202 4.236 2.202 1.803 0 3.222-.73 4.256-2.19 1.035-1.461 1.552-3.492 1.552-6.092 0-2.586-.514-4.605-1.541-6.06-1.028-1.453-2.45-2.18-4.267-2.18z\"/></svg>"
},
"$:/core/images/mono-line": {
"title": "$:/core/images/mono-line",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-mono-line tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.437 84.523h.908c1.922 0 3.381.489 4.378 1.468.997.979 1.495 2.411 1.495 4.298 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388h-16.07c-2.456 0-4.2-.454-5.232-1.361-1.032-.908-1.548-2.43-1.548-4.565 0-2.065.516-3.542 1.548-4.432 1.032-.89 2.776-1.334 5.232-1.334h1.869l-2.19-6.247H20.983l-2.296 6.247h1.87c2.42 0 4.155.453 5.205 1.361 1.05.908 1.575 2.376 1.575 4.405 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388H6.781c-2.456 0-4.2-.463-5.233-1.388C.516 93.9 0 92.389 0 90.289c0-1.887.498-3.32 1.495-4.298.997-.979 2.456-1.468 4.378-1.468h.908l14.308-39.83h-4.271c-2.42 0-4.156-.462-5.206-1.387-1.05-.926-1.575-2.42-1.575-4.485 0-2.1.525-3.613 1.575-4.538 1.05-.926 2.785-1.388 5.206-1.388h20.021c3.168 0 5.392 1.708 6.674 5.125v.16l16.924 46.343zm-27.976-39.83L24.72 67.225h15.483l-7.742-22.53zM89.506 68.56v16.284h8.008c5.66 0 9.646-.623 11.96-1.869 2.313-1.245 3.47-3.328 3.47-6.246 0-2.955-1.103-5.055-3.31-6.3-2.207-1.246-6.069-1.869-11.586-1.869h-8.542zm27.229-5.926c3.88 1.423 6.727 3.372 8.542 5.846 1.815 2.474 2.723 5.633 2.723 9.477 0 3.239-.783 6.193-2.35 8.862-1.565 2.67-3.808 4.859-6.726 6.567-1.709.997-3.622 1.718-5.74 2.163-2.118.445-5.116.667-8.996.667h-27.87c-2.349 0-4.03-.463-5.045-1.388-1.014-.926-1.521-2.438-1.521-4.538 0-1.887.48-3.32 1.441-4.298.961-.979 2.367-1.468 4.218-1.468h.907v-39.83h-.907c-1.851 0-3.257-.498-4.218-1.494-.961-.997-1.441-2.456-1.441-4.378 0-2.065.516-3.568 1.548-4.512 1.032-.943 2.705-1.414 5.018-1.414h24.56c7.51 0 13.214 1.459 17.111 4.377 3.898 2.92 5.847 7.19 5.847 12.814 0 2.776-.597 5.223-1.789 7.341-1.192 2.118-2.963 3.853-5.312 5.206zm-27.23-18.26v13.455h7.208c4.378 0 7.466-.516 9.264-1.549 1.797-1.032 2.696-2.776 2.696-5.232 0-2.313-.81-4.004-2.43-5.072-1.619-1.068-4.244-1.602-7.874-1.602h-8.863z\"/></svg>"
},
"$:/core/images/new-button": {
"title": "$:/core/images/new-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 72H8.007C3.591 72 0 68.418 0 64c0-4.41 3.585-8 8.007-8H56V8.007C56 3.591 59.582 0 64 0c4.41 0 8 3.585 8 8.007V56h47.993c4.416 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H72v47.993c0 4.416-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V72z\"/></svg>"
},
"$:/core/images/new-here-button": {
"title": "$:/core/images/new-here-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-here-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.838 20.935l-3.572.938c-3.688.968-8.23 4.43-10.136 7.731L3.37 96.738c-1.905 3.3-.771 7.524 2.534 9.432l33.717 19.466c3.297 1.904 7.53.78 9.435-2.521l38.76-67.134c1.905-3.3 2.632-8.963 1.623-12.646L83.285 20.88c-1.009-3.68-4.821-5.884-8.513-4.915l-7.603 1.995.043.287c.524 3.394 2.053 7.498 4.18 11.55.418.163.829.36 1.23.59a8.864 8.864 0 014.438 8.169c.104.132.21.264.316.395l-.386.318a8.663 8.663 0 01-1.082 3.137c-2.42 4.192-7.816 5.608-12.051 3.163-4.12-2.379-5.624-7.534-3.476-11.671-2.177-4.394-3.788-8.874-4.543-12.964z\"/><path d=\"M69.554 44.76c-5.944-7.476-10.74-17.196-11.955-25.059-1.68-10.875 3.503-18.216 15.082-18.04 10.407.158 19.975 5.851 24.728 13.785 5.208 8.695 2.95 17.868-6.855 20.496l-2.037-7.601c4.232-1.134 4.999-4.248 2.24-8.853-3.37-5.626-10.465-9.848-18.146-9.965-6.392-.097-8.31 2.62-7.323 9.01.999 6.465 5.318 15.138 10.582 21.65l-.072.06c.559 1.553-4.17 6.44-5.938 4.888l-.005.004-.028-.034a1.323 1.323 0 01-.124-.135 2.618 2.618 0 01-.149-.205z\"/><rect width=\"16\" height=\"48\" x=\"96\" y=\"80\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"80\" y=\"96\" rx=\"8\"/></g></svg>"
},
"$:/core/images/new-image-button": {
"title": "$:/core/images/new-image-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.362 73.627l15.826-27.41a2.626 2.626 0 00-.962-3.59l-50.01-28.872a2.626 2.626 0 00-3.588.961L30.058 36.49l10.04-5.261c3.042-1.595 6.771.114 7.55 3.46l3.607 17.702 9.88.85a5.25 5.25 0 014.571 3.77c.034.115.1.344.199.671.165.553.353 1.172.562 1.843.595 1.914 1.23 3.85 1.872 5.678.207.588.412 1.156.614 1.701.625 1.685 1.209 3.114 1.725 4.207.255.54.485.977.726 1.427.214.212.547.425 1.011.622 1.141.482 2.784.74 4.657.758.864.008 1.71-.034 2.492-.11.448-.043.753-.085.871-.104.315-.053.625-.077.927-.076zM37.47 2.649A5.257 5.257 0 0144.649.725l63.645 36.746a5.257 5.257 0 011.923 7.178L73.47 108.294a5.257 5.257 0 01-7.177 1.923L2.649 73.47a5.257 5.257 0 01-1.924-7.177L37.471 2.649zm42.837 50.49a5.25 5.25 0 105.25-9.092 5.25 5.25 0 00-5.25 9.093zM96 112h-7.993c-4.419 0-8.007-3.582-8.007-8 0-4.41 3.585-8 8.007-8H96v-7.993C96 83.588 99.582 80 104 80c4.41 0 8 3.585 8 8.007V96h7.993c4.419 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H112v7.993c0 4.419-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V112zM33.347 51.791c7.428 7.948 9.01 10.69 7.449 13.394-1.56 2.703-13.838-2.328-16.094 1.58-2.256 3.908-.907 3.258-2.437 5.908l19.73 11.39s-5.605-8.255-4.235-10.628c2.515-4.356 8.77-1.256 10.365-4.019 2.414-4.181-5.103-9.639-14.778-17.625z\"/></svg>"
},
"$:/core/images/new-journal-button": {
"title": "$:/core/images/new-journal-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-new-journal-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.545 112.818v11.818c0 1.306 1.086 2.364 2.425 2.364h6.06c1.34 0 2.425-1.058 2.425-2.364v-11.818h12.12c1.34 0 2.425-1.058 2.425-2.363v-5.91c0-1.305-1.085-2.363-2.424-2.363h-12.121V90.364c0-1.306-1.086-2.364-2.425-2.364h-6.06c-1.34 0-2.425 1.058-2.425 2.364v11.818h-12.12c-1.34 0-2.425 1.058-2.425 2.363v5.91c0 1.305 1.085 2.363 2.424 2.363h12.121zM60.016 4.965c-4.781-2.76-10.897-1.118-13.656 3.66L5.553 79.305A9.993 9.993 0 009.21 92.963l51.04 29.468c4.78 2.76 10.897 1.118 13.655-3.66l40.808-70.681a9.993 9.993 0 00-3.658-13.656L60.016 4.965zm-3.567 27.963a6 6 0 106-10.393 6 6 0 00-6 10.393zm31.697 17.928a6 6 0 106-10.392 6 6 0 00-6 10.392z\"/><text class=\"tc-fill-background\" font-family=\"Helvetica\" font-size=\"47.172\" font-weight=\"bold\" transform=\"rotate(30 25.742 95.82)\"><tspan x=\"42\" y=\"77.485\" text-anchor=\"middle\"><<now \"DD\">></tspan></text></g></svg>"
},
"$:/core/images/opacity": {
"title": "$:/core/images/opacity",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-opacity tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.362 65a51.595 51.595 0 01-1.942 6H82.584a35.867 35.867 0 002.997-6h16.78zm.472-2c.423-1.961.734-3.963.929-6H87.656a35.78 35.78 0 01-1.368 6h16.546zm-3.249 10a51.847 51.847 0 01-3.135 6H75.812a36.205 36.205 0 005.432-6h18.341zm-4.416 8c-1.424 2.116-3 4.12-4.71 6H60.46a35.843 35.843 0 0012.874-6h21.834zm-7.513-34h16.107C101.247 20.627 79.033 0 52 0 23.281 0 0 23.281 0 52c0 25.228 17.965 46.26 41.8 51h20.4a51.66 51.66 0 0015.875-6H39v-2h42.25a52.257 52.257 0 007.288-6H39v-2h4.539C27.739 83.194 16 68.968 16 52c0-19.882 16.118-36 36-36 18.186 0 33.222 13.484 35.656 31zm.22 2h16.039a52.823 52.823 0 010 6H87.877a36.483 36.483 0 000-6z\"/><path d=\"M76 128c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52zm0-16c19.882 0 36-16.118 36-36S95.882 40 76 40 40 56.118 40 76s16.118 36 36 36z\"/><path d=\"M37 58h53v4H37v-4zm3-8h53v4H40v-4zm0-8h53v4H40v-4zm-8 24h53v4H32v-4zm-2 8h53v4H30v-4zm-3 8h53v4H27v-4z\"/></g></svg>"
},
"$:/core/images/open-window": {
"title": "$:/core/images/open-window",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-open-window tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M16 112h88.994c3.87 0 7.006 3.59 7.006 8 0 4.418-3.142 8-7.006 8H7.006C3.136 128 0 124.41 0 120a9.321 9.321 0 010-.01V24.01C0 19.586 3.59 16 8 16c4.418 0 8 3.584 8 8.01V112z\"/><path d=\"M96 43.196V56a8 8 0 1016 0V24c0-4.41-3.585-8-8.007-8H72.007C67.588 16 64 19.582 64 24c0 4.41 3.585 8 8.007 8H84.57l-36.3 36.299a8 8 0 00-.001 11.316c3.117 3.117 8.19 3.123 11.316-.003L96 43.196zM32 7.999C32 3.581 35.588 0 40 0h80c4.419 0 8 3.588 8 8v80c0 4.419-3.588 8-8 8H40c-4.419 0-8-3.588-8-8V8z\"/></g></svg>"
},
"$:/core/images/options-button": {
"title": "$:/core/images/options-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-options-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M110.488 76a47.712 47.712 0 01-5.134 12.384l6.724 6.724c3.123 3.123 3.132 8.192.011 11.313l-5.668 5.668c-3.12 3.12-8.186 3.117-11.313-.01l-6.724-6.725c-3.82 2.258-7.98 4-12.384 5.134v9.505c0 4.417-3.578 8.007-7.992 8.007h-8.016C55.58 128 52 124.415 52 119.993v-9.505a47.712 47.712 0 01-12.384-5.134l-6.724 6.725c-3.123 3.122-8.192 3.131-11.313.01l-5.668-5.668c-3.12-3.12-3.116-8.186.01-11.313l6.725-6.724c-2.257-3.82-4-7.98-5.134-12.384H8.007C3.591 76 0 72.422 0 68.01v-8.017C0 55.58 3.585 52 8.007 52h9.505a47.712 47.712 0 015.134-12.383l-6.724-6.725c-3.123-3.122-3.132-8.191-.011-11.312l5.668-5.669c3.12-3.12 8.186-3.116 11.313.01l6.724 6.725c3.82-2.257 7.98-4 12.384-5.134V8.007C52 3.591 55.578 0 59.992 0h8.016C72.42 0 76 3.585 76 8.007v9.505a47.712 47.712 0 0112.384 5.134l6.724-6.724c3.123-3.123 8.192-3.132 11.313-.01l5.668 5.668c3.12 3.12 3.116 8.186-.01 11.312l-6.725 6.725c2.257 3.82 4 7.979 5.134 12.383h9.505c4.416 0 8.007 3.578 8.007 7.992v8.017c0 4.411-3.585 7.991-8.007 7.991h-9.505zM64 96c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/></svg>"
},
"$:/core/images/paint": {
"title": "$:/core/images/paint",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-paint tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M83.527 76.19C90.43 69.287 91.892 59 87.91 50.665l37.903-37.902c2.919-2.92 2.913-7.659 0-10.572a7.474 7.474 0 00-10.572 0L77.338 40.093c-8.335-3.982-18.622-2.521-25.526 4.383l31.715 31.715zm-2.643 2.644L49.169 47.119S8.506 81.243 0 80.282c0 0 3.782 5.592 6.827 8.039 14.024-5.69 37.326-24.6 37.326-24.6l.661.66S19.45 90.222 9.18 92.047c1.222 1.44 4.354 4.053 6.247 5.776 5.417-1.488 34.733-28.57 34.733-28.57l.661.66-32.407 31.022 5.285 5.286L56.106 75.2l.662.66s-27.864 30.536-28.684 32.432c0 0 6.032 6.853 7.569 7.824.702-2.836 27.884-33.485 27.884-33.485l.661.66s-20.597 23.755-24.964 36.732c3.21 3.549 7.5 5.137 10.926 6.298-2.19-11.817 30.724-47.487 30.724-47.487z\"/></svg>"
},
"$:/core/images/palette": {
"title": "$:/core/images/palette",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-palette tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.247 39.182a93.52 93.52 0 00-16.228-1.4C28.662 37.781 0 57.131 0 81.002c0 9.642 4.676 18.546 12.58 25.735C23.504 91.19 26.34 72.395 36.89 63.562c15.183-12.713 26.538-7.828 26.538-7.828l16.82-16.552zm26.535 9.655c13.049 7.913 21.257 19.392 21.257 32.166 0 9.35.519 17.411-11.874 25.08-10.797 6.681-3.824-6.536-11.844-10.898s-19.946 1.308-18.213 7.906c3.2 12.181 19.422 11.455 6.314 16.658-13.107 5.202-18.202 4.476-28.403 4.476-7.821 0-15.315-.947-22.243-2.68 9.844-4.197 27.88-12.539 33.354-19.456C82.788 92.409 87.37 80 83.324 72.484c-.194-.359 11.215-11.668 23.458-23.647zM1.134 123.867l-.66.002c33.479-14.94 22.161-64.226 58.818-64.226.317 1.418.644 2.944 1.062 4.494-25.907-4.166-23.567 48.031-59.22 59.73zm.713-.007c38.872-.506 78.152-22.347 78.152-44.813-9.27 0-14.073-3.48-16.816-7.942-16.597-7.003-30.365 45.715-61.336 52.755zm65.351-64.008c-4.45 4.115 4.886 16.433 11.318 11.318l45.27-45.27c11.317-11.318 0-22.635-11.318-11.318-11.317 11.318-33.518 34.405-45.27 45.27z\"/></svg>"
},
"$:/core/images/permalink-button": {
"title": "$:/core/images/permalink-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permalink-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.483 48l-7.387 32h-25.58l7.388-32h25.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L100.598 32h3.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-7.096l-7.387 32H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H85.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L69.402 96h-25.58L38.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L27.402 96h-3.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h7.096l7.387-32H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h18.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L58.598 32h25.58z\"/></svg>"
},
"$:/core/images/permaview-button": {
"title": "$:/core/images/permaview-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-permaview-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.483 48l-1.846 8h-5.58l1.847-8h5.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L101.598 32h2.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-6.096l-1.847 8h7.944c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H92.364l-1.846 8H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H86.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L70.402 96h-5.58L59.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L48.402 96h-5.58L37.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L26.402 96h-2.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h6.096l1.847-8h-7.944C19.59 72 16 68.418 16 64c0-4.41 3.581-8 8-8h11.637l1.846-8H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h17.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L57.598 32h5.58L68.8 7.642c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L79.598 32h5.58zM53.904 48l-1.847 8h5.58l1.846-8h-5.579zm22.039 24l-1.847 8h-5.58l1.847-8h5.58zm-27.58 0l-1.846 8h5.579l1.847-8h-5.58z\"/></svg>"
},
"$:/core/images/picture": {
"title": "$:/core/images/picture",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-picture tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112 68.233v-48.23A4.001 4.001 0 00107.997 16H20.003A4.001 4.001 0 0016 20.003v38.31l9.241-14.593c2.8-4.422 9.023-5.008 12.6-1.186l18.247 20.613 13.687-6.407a8 8 0 018.903 1.492 264.97 264.97 0 002.92 2.739 249.44 249.44 0 006.798 6.066 166.5 166.5 0 002.106 1.778c2.108 1.747 3.967 3.188 5.482 4.237.748.518 1.383.92 2.044 1.33.444.117 1.046.144 1.809.05 1.873-.233 4.238-1.144 6.723-2.547a36.016 36.016 0 003.205-2.044c.558-.4.93-.686 1.07-.802.376-.31.765-.577 1.165-.806zM0 8.007A8.01 8.01 0 018.007 0h111.986A8.01 8.01 0 01128 8.007v111.986a8.01 8.01 0 01-8.007 8.007H8.007A8.01 8.01 0 010 119.993V8.007zM95 42a8 8 0 100-16 8 8 0 000 16zM32 76c15.859 4.83 20.035 7.244 20.035 12S32 95.471 32 102.347c0 6.876 1.285 4.99 1.285 9.653H68s-13.685-6.625-13.685-10.8c0-7.665 10.615-8.34 10.615-13.2 0-7.357-14.078-8.833-32.93-12z\"/></svg>"
},
"$:/core/images/plugin-generic-language": {
"title": "$:/core/images/plugin-generic-language",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M61.207 68.137c-4.324 2.795-6.999 6.656-6.999 10.921 0 7.906 9.19 14.424 21.042 15.336 2.162 3.902 8.598 6.785 16.318 7.01-5.126-1.125-9.117-3.742-10.62-7.01C92.805 93.487 102 86.967 102 79.059c0-8.53-10.699-15.445-23.896-15.445-6.599 0-12.572 1.729-16.897 4.524zm12.794-14.158c-4.324 2.795-10.298 4.524-16.897 4.524-2.619 0-5.14-.272-7.497-.775-3.312 2.25-8.383 3.69-14.067 3.69l-.255-.002c4.119-.892 7.511-2.747 9.478-5.13-6.925-2.704-11.555-7.617-11.555-13.228 0-8.53 10.699-15.445 23.896-15.445C70.301 27.613 81 34.528 81 43.058c0 4.265-2.675 8.126-6.999 10.921zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
},
"$:/core/images/plugin-generic-plugin": {
"title": "$:/core/images/plugin-generic-plugin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M40.397 76.446V95.34h14.12l-.001-.005a6.912 6.912 0 005.364-11.593l.046-.023a6.912 6.912 0 119.979.526l.086.055a6.914 6.914 0 004.408 10.948l-.023.092h21.32V75.568l-.15.038a6.912 6.912 0 00-11.593-5.364l-.022-.046a6.912 6.912 0 11.526-9.979l.055-.086a6.914 6.914 0 0010.948-4.408c.079.018.158.038.236.059v-15.74h-21.32l.023-.094a6.914 6.914 0 01-4.408-10.947 10.23 10.23 0 00-.086-.055 6.912 6.912 0 10-9.979-.526l-.046.023a6.912 6.912 0 01-5.364 11.593l.001.005h-14.12v12.847A6.912 6.912 0 0129.5 59.843l-.054.086a6.912 6.912 0 10-.526 9.979l.023.046a6.912 6.912 0 0111.455 6.492zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
},
"$:/core/images/plugin-generic-theme": {
"title": "$:/core/images/plugin-generic-theme",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M29.408 91.472L51.469 69.41l-.004-.005a2.22 2.22 0 01.004-3.146c.87-.87 2.281-.872 3.147-.005l9.465 9.464a2.22 2.22 0 01-.005 3.147c-.87.87-2.28.871-3.147.005l-.005-.005-22.061 22.062a6.686 6.686 0 11-9.455-9.455zM60.802 66.38c-2.436-2.704-4.465-5.091-5.817-6.869-6.855-9.014-10.313-4.268-14.226 0-3.913 4.268 1.03 7.726-2.683 10.741-3.713 3.015-3.484 4.06-9.752-1.455-6.267-5.516-6.7-7.034-3.823-10.181 2.877-3.147 5.281 1.808 11.159-3.785 5.877-5.593.94-10.55.94-10.55s12.237-25.014 28.588-23.167c16.351 1.848-6.186-2.392-11.792 17.226-2.4 8.4.447 6.42 4.998 9.968 1.394 1.086 6.03 4.401 11.794 8.685l20.677-20.676 1.615-4.766 7.84-4.689 3.151 3.152-4.688 7.84-4.766 1.615-20.224 20.223c12.663 9.547 28.312 22.146 28.312 26.709 0 7.217-3.071 11.526-9.535 9.164-4.693-1.715-18.768-15.192-28.753-25.897l-2.893 2.893-3.151-3.152 3.029-3.029zM63.953 0l54.56 32v64l-54.56 32-54.56-32V32l54.56-32z\"/></svg>"
},
"$:/core/images/preview-closed": {
"title": "$:/core/images/preview-closed",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-closed tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M.088 64a7.144 7.144 0 001.378 5.458C16.246 88.818 39.17 100.414 64 100.414c24.83 0 47.753-11.596 62.534-30.956A7.144 7.144 0 00127.912 64C110.582 78.416 88.304 87.086 64 87.086 39.696 87.086 17.418 78.416.088 64z\"/><rect width=\"4\" height=\"16\" x=\"62\" y=\"96\" rx=\"4\"/><rect width=\"4\" height=\"16\" x=\"78\" y=\"93\" rx=\"4\" transform=\"rotate(-5 80 101)\"/><rect width=\"4\" height=\"16\" x=\"46\" y=\"93\" rx=\"4\" transform=\"rotate(5 48 101)\"/><rect width=\"4\" height=\"16\" x=\"30\" y=\"88\" rx=\"4\" transform=\"rotate(10 32 96)\"/><rect width=\"4\" height=\"16\" x=\"94\" y=\"88\" rx=\"4\" transform=\"rotate(-10 96 96)\"/><rect width=\"4\" height=\"16\" x=\"110\" y=\"80\" rx=\"4\" transform=\"rotate(-20 112 88)\"/><rect width=\"4\" height=\"16\" x=\"14\" y=\"80\" rx=\"4\" transform=\"rotate(20 16 88)\"/></g></svg>"
},
"$:/core/images/preview-open": {
"title": "$:/core/images/preview-open",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-preview-open tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.11 99.588c-24.83 0-47.754-11.596-62.534-30.957a7.148 7.148 0 010-8.675C16.356 40.596 39.28 29 64.11 29c24.83 0 47.753 11.596 62.534 30.956a7.148 7.148 0 010 8.675c-14.78 19.36-37.703 30.957-62.534 30.957zm46.104-32.007c1.44-1.524 1.44-3.638 0-5.162C99.326 50.9 82.439 44 64.147 44S28.968 50.9 18.08 62.42c-1.44 1.523-1.44 3.637 0 5.16C28.968 79.1 45.855 86 64.147 86s35.179-6.9 46.067-18.42z\"/><path d=\"M63.5 88C76.479 88 87 77.479 87 64.5S76.479 41 63.5 41 40 51.521 40 64.5 50.521 88 63.5 88z\"/></g></svg>"
},
"$:/core/images/print-button": {
"title": "$:/core/images/print-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M112 71V30.5h-.032c-.035-2-.816-3.99-2.343-5.516L86.998 2.357A7.978 7.978 0 0081 .02V0H24a8 8 0 00-8 8v63h8V8h57v14.5c0 4.422 3.582 8 8 8h15V71h8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/><path d=\"M0 80.005C0 71.165 7.156 64 16 64h96c8.836 0 16 7.155 16 16.005v31.99c0 8.84-7.156 16.005-16 16.005H16c-8.836 0-16-7.155-16-16.005v-31.99zM104 96a8 8 0 100-16 8 8 0 000 16z\"/></g></svg>"
},
"$:/core/images/quote": {
"title": "$:/core/images/quote",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-quote tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M51.219 117.713V62.199H27.427c0-8.891 1.683-16.401 5.047-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.36 3.184-20.728 6.669-6.368 3.484-11.835 7.87-16.401 13.157C9.524 27.113 5.98 33.241 3.456 40.21.933 47.18-.21 54.63.03 62.56v55.153H51.22zm76.781 0V62.199h-23.791c0-8.891 1.682-16.401 5.046-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.359 3.184-20.727 6.669-6.369 3.484-11.836 7.87-16.402 13.157-4.566 5.287-8.11 11.415-10.634 18.384-2.523 6.97-3.665 14.42-3.424 22.35v55.153H128z\"/></svg>"
},
"$:/core/images/refresh-button": {
"title": "$:/core/images/refresh-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-refresh-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M106.369 39.433c10.16 20.879 6.57 46.764-10.771 64.106-21.87 21.87-57.327 21.87-79.196 0-21.87-21.87-21.87-57.326 0-79.196a8 8 0 1111.314 11.314c-15.621 15.62-15.621 40.947 0 56.568 15.62 15.621 40.947 15.621 56.568 0C97.72 78.79 99.6 58.175 89.924 42.73l-6.44 12.264a8 8 0 11-14.166-7.437L84.435 18.76a8 8 0 0110.838-3.345l28.873 15.345a8 8 0 11-7.51 14.129l-10.267-5.457zm-8.222-12.368c-.167-.19-.336-.38-.506-.57l.96-.296-.454.866z\"/></svg>"
},
"$:/core/images/right-arrow": {
"title": "$:/core/images/right-arrow",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-right-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M99.069 64.173c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></svg>"
},
"$:/core/images/rotate-left": {
"title": "$:/core/images/rotate-left",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-rotate-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect width=\"80\" height=\"32\" x=\"48\" y=\"96\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 01-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 11-5.657 5.657L49.172 43.142a4 4 0 010-5.657l11.313-11.313a4 4 0 115.657 5.656l-4.821 4.822z\"/></g></svg>"
},
"$:/core/images/save-button": {
"title": "$:/core/images/save-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/></svg>"
},
"$:/core/images/size": {
"title": "$:/core/images/size",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-size tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M92.343 26l-9.171 9.172a4 4 0 105.656 5.656l16-16a4 4 0 000-5.656l-16-16a4 4 0 10-5.656 5.656L92.343 18H22a4 4 0 00-4 4v70.343l-9.172-9.171a4 4 0 10-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656L26 92.343V22l-4 4h70.343zM112 52v64l4-4H52a4 4 0 100 8h64a4 4 0 004-4V52a4 4 0 10-8 0z\"/></svg>"
},
"$:/core/images/spiral": {
"title": "$:/core/images/spiral",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-spiral tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074a4.785 4.785 0 00-4.52-5.03 4.778 4.778 0 00-5.03 4.52c-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01a1.047 1.047 0 01-.264-.332c-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"/></svg>"
},
"$:/core/images/stamp": {
"title": "$:/core/images/stamp",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-stamp tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M49.733 64H16.01C11.584 64 8 67.583 8 72.003V97h112V72.003A8 8 0 00111.99 64H78.267A22.813 22.813 0 0175.5 53.077c0-6.475 2.687-12.324 7.009-16.497A22.818 22.818 0 0087 22.952C87 10.276 76.703 0 64 0S41 10.276 41 22.952c0 5.103 1.669 9.817 4.491 13.628 4.322 4.173 7.009 10.022 7.009 16.497 0 3.954-1.002 7.675-2.767 10.923zM8 104h112v8H8v-8z\"/></svg>"
},
"$:/core/images/star-filled": {
"title": "$:/core/images/star-filled",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-star-filled tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M61.836 96.823l37.327 27.287c2.72 1.99 6.379-.69 5.343-3.912L90.29 75.988l-1.26 3.91 37.285-27.345c2.718-1.993 1.32-6.327-2.041-6.33l-46.113-.036 3.3 2.416L67.176 4.416c-1.04-3.221-5.563-3.221-6.604 0L46.29 48.603l3.3-2.416-46.113.036c-3.362.003-4.759 4.337-2.04 6.33L38.72 79.898l-1.26-3.91-14.216 44.21c-1.036 3.223 2.622 5.901 5.343 3.912l37.326-27.287h-4.078z\"/></svg>"
},
"$:/core/images/storyview-classic": {
"title": "$:/core/images/storyview-classic",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-classic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm0 48C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0 32C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
},
"$:/core/images/storyview-pop": {
"title": "$:/core/images/storyview-pop",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-pop tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm-7.99 40C11.587 56 8 59.578 8 63.992v16.016C8 84.422 11.584 88 16.01 88h95.98c4.424 0 8.01-3.578 8.01-7.992V63.992c0-4.414-3.584-7.992-8.01-7.992H16.01zM24 96C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0-32C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
},
"$:/core/images/storyview-zoomin": {
"title": "$:/core/images/storyview-zoomin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-storyview-zoomin tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16A8 8 0 0016 24.009V71.99C16 76.414 19.588 80 24 80h80a8 8 0 008-8.009V24.01c0-4.423-3.588-8.009-8-8.009H24z\"/></svg>"
},
"$:/core/images/strikethrough": {
"title": "$:/core/images/strikethrough",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-strikethrough tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M92.794 38.726h15.422c-.229-6.74-1.514-12.538-3.856-17.393-2.342-4.855-5.54-8.881-9.596-12.08-4.055-3.199-8.767-5.54-14.136-7.025C75.258.743 69.433 0 63.15 0a62.76 62.76 0 00-16.364 2.142C41.474 3.57 36.733 5.74 32.564 8.653c-4.17 2.913-7.511 6.626-10.025 11.138-2.513 4.512-3.77 9.853-3.77 16.022 0 5.597 1.115 10.252 3.342 13.965 2.228 3.712 5.198 6.74 8.91 9.081 3.713 2.342 7.911 4.227 12.595 5.655a194.641 194.641 0 0014.308 3.77c4.855 1.085 9.624 2.142 14.308 3.17 4.683 1.028 8.881 2.37 12.594 4.027 3.713 1.656 6.683 3.798 8.91 6.425 2.228 2.628 3.342 6.055 3.342 10.281 0 4.456-.914 8.111-2.742 10.967a19.953 19.953 0 01-7.197 6.768c-2.97 1.657-6.311 2.828-10.024 3.513a60.771 60.771 0 01-11.052 1.028c-4.57 0-9.025-.571-13.366-1.713-4.34-1.143-8.139-2.913-11.394-5.312-3.256-2.4-5.884-5.455-7.883-9.168-1.999-3.712-2.998-8.139-2.998-13.28H15c0 7.426 1.342 13.852 4.027 19.278 2.684 5.426 6.34 9.881 10.966 13.365 4.627 3.484 9.996 6.083 16.107 7.797 6.112 1.713 12.595 2.57 19.449 2.57 5.597 0 11.223-.657 16.878-1.97 5.655-1.314 10.767-3.428 15.336-6.34 4.57-2.914 8.31-6.683 11.224-11.31 2.913-4.626 4.37-10.195 4.37-16.707 0-6.054-1.115-11.08-3.342-15.079-2.228-3.998-5.198-7.31-8.91-9.938-3.713-2.627-7.911-4.712-12.595-6.254a170.83 170.83 0 00-14.308-4.027 549.669 549.669 0 00-14.308-3.17c-4.683-.971-8.881-2.2-12.594-3.684-3.713-1.485-6.683-3.399-8.91-5.74-2.228-2.342-3.342-5.398-3.342-9.168 0-3.998.771-7.34 2.313-10.024 1.543-2.685 3.599-4.826 6.17-6.426 2.57-1.599 5.51-2.741 8.824-3.427a49.767 49.767 0 0110.11-1.028c8.453 0 15.393 1.97 20.819 5.912 5.426 3.94 8.596 10.31 9.51 19.106z\"/><path d=\"M5 54h118v16H5z\"/></g></svg>"
},
"$:/core/images/subscript": {
"title": "$:/core/images/subscript",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-subscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 128.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
},
"$:/core/images/superscript": {
"title": "$:/core/images/superscript",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-superscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 63.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
},
"$:/core/images/tag-button": {
"title": "$:/core/images/tag-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tag-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M18.164 47.66l.004 4.105c.003 3.823 2.19 9.097 4.885 11.792l61.85 61.85c2.697 2.697 7.068 2.69 9.769-.01L125.767 94.3a6.903 6.903 0 00.01-9.77L63.928 22.683c-2.697-2.697-7.976-4.88-11.796-4.881l-27.076-.007a6.902 6.902 0 00-6.91 6.91l.008 9.96.287.033c3.73.411 8.489-.044 13.365-1.153a9.702 9.702 0 0111.14-3.662l.291-.13.128.285a9.7 9.7 0 013.3 2.17c3.796 3.796 3.801 9.945.012 13.734-3.618 3.618-9.386 3.777-13.204.482-5.365 1.122-10.674 1.596-15.309 1.237z\"/><path d=\"M47.633 39.532l.023.051c-9.689 4.356-21.584 6.799-30.396 5.828C5.273 44.089-1.028 36.43 2.443 24.078 5.562 12.976 14.3 4.361 24.047 1.548c10.68-3.083 19.749 1.968 19.749 13.225h-8.623c0-4.859-3.078-6.573-8.735-4.94-6.91 1.995-13.392 8.383-15.694 16.577-1.915 6.818.417 9.653 7.46 10.43 7.126.785 17.531-1.352 25.917-5.121l.027.06.036-.017c1.76-.758 6.266 6.549 3.524 7.74a2.8 2.8 0 01-.075.03z\"/></g></svg>"
},
"$:/core/images/theme-button": {
"title": "$:/core/images/theme-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-theme-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.854 66.945a122.626 122.626 0 01-3.9-4.819c-11.064-14.548-16.645-6.888-22.96 0-6.315 6.888 1.664 12.47-4.33 17.335-5.993 4.866-5.623 6.552-15.737-2.35-10.115-8.9-10.815-11.351-6.172-16.43 4.644-5.08 8.524 2.918 18.01-6.108 9.485-9.026 1.517-17.026 1.517-17.026S42.03-2.824 68.42.157c26.39 2.982-9.984-3.86-19.031 27.801-3.874 13.556.72 10.362 8.066 16.087 1.707 1.33 6.428 4.732 12.671 9.318-6.129 5.879-11.157 10.669-14.273 13.582zm11.641 12.947c16.013 17.036 37.742 37.726 45.117 40.42 10.432 3.813 15.388-3.141 15.388-14.79 0-7.151-23.83-26.542-43.924-41.769-7.408 7.156-13.376 12.953-16.58 16.139z\"/><path d=\"M11.069 109.828L46.31 74.587a3.56 3.56 0 115.037-5.032l15.098 15.098a3.56 3.56 0 11-5.032 5.037l-35.24 35.241c-4.171 4.17-10.933 4.17-15.104 0-4.17-4.17-4.17-10.933 0-15.103zM124.344 6.622l5.034 5.034-7.49 12.524-7.613 2.58L61.413 79.62l-5.034-5.034 52.861-52.862 2.58-7.614 12.524-7.49z\"/></g></svg>"
},
"$:/core/images/timestamp-off": {
"title": "$:/core/images/timestamp-off",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-off tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/></g></svg>"
},
"$:/core/images/timestamp-on": {
"title": "$:/core/images/timestamp-on",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-timestamp-on tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178a5.005 5.005 0 01-7.045-.613 5.008 5.008 0 01.616-7.047l9.95-8.348a5 5 0 016.429 7.661l-9.95 8.348zm89.573 0a5.005 5.005 0 007.045-.613 5.008 5.008 0 00-.616-7.047l-9.95-8.348a5 5 0 00-6.428 7.661l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/></g></svg>"
},
"$:/core/images/tip": {
"title": "$:/core/images/tip",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-tip tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\"/></svg>"
},
"$:/core/images/transcludify": {
"title": "$:/core/images/transcludify",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806z\"/></svg>"
},
"$:/core/images/twitter": {
"title": "$:/core/images/twitter",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-twitter tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.626 115.803A73.376 73.376 0 012 104.235c2.022.238 4.08.36 6.166.36 12.111 0 23.258-4.117 32.105-11.023-11.312-.208-20.859-7.653-24.148-17.883a25.98 25.98 0 0011.674-.441C15.971 72.881 7.061 62.474 7.061 49.997c0-.108 0-.216.002-.323a25.824 25.824 0 0011.709 3.22c-6.936-4.617-11.5-12.5-11.5-21.433 0-4.719 1.274-9.142 3.5-12.945 12.75 15.579 31.797 25.83 53.281 26.904-.44-1.884-.67-3.85-.67-5.868 0-14.22 11.575-25.75 25.852-25.75a25.865 25.865 0 0118.869 8.132 51.892 51.892 0 0016.415-6.248c-1.93 6.012-6.029 11.059-11.366 14.246A51.844 51.844 0 00128 25.878a52.428 52.428 0 01-12.9 13.33c.05 1.104.075 2.214.075 3.33 0 34.028-26 73.265-73.549 73.265\"/></svg>"
},
"$:/core/images/underline": {
"title": "$:/core/images/underline",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-underline tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M7 117.421h114.248V128H7v-10.579zm97.871-18.525V0h-16.26v55.856c0 4.463-.605 8.576-1.816 12.338-1.212 3.762-3.03 7.046-5.452 9.851-2.423 2.806-5.452 4.974-9.086 6.504-3.635 1.53-7.939 2.296-12.912 2.296-6.25 0-11.159-1.786-14.73-5.356-3.57-3.571-5.356-8.417-5.356-14.538V0H23v65.038c0 5.356.542 10.234 1.626 14.633 1.084 4.4 2.965 8.194 5.643 11.382 2.678 3.188 6.185 5.643 10.52 7.365 4.337 1.721 9.756 2.582 16.26 2.582 7.27 0 13.582-1.435 18.938-4.304 5.356-2.87 9.755-7.365 13.199-13.486h.382v15.686h15.303z\"/></svg>"
},
"$:/core/images/unfold-all-button": {
"title": "$:/core/images/unfold-all-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M63.945 60.624c-2.05 0-4.101-.78-5.666-2.345L35.662 35.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 41.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 58.279a7.986 7.986 0 01-5.663 2.346zM64.004 124.565c-2.05 0-4.102-.78-5.666-2.345L35.721 99.603c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 105.255l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.662 122.22a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
},
"$:/core/images/unfold-button": {
"title": "$:/core/images/unfold-button",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unfold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M63.945 63.624c-2.05 0-4.101-.78-5.666-2.345L35.662 38.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 44.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 61.279a7.986 7.986 0 01-5.663 2.346zM64.004 105.682c-2.05.001-4.102-.78-5.666-2.344L35.721 80.721c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 86.373l16.966-16.966c3.124-3.125 8.194-3.13 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319l-22.617 22.617a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
},
"$:/core/images/unlocked-padlock": {
"title": "$:/core/images/unlocked-padlock",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-unlocked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M48.627 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h6.136c-10.455-12.651-27.364-35.788-4.3-55.142 24.636-20.672 45.835 4.353 55.777 16.201 9.943 11.85-2.676 22.437-12.457 9.892-9.78-12.545-21.167-24.146-33.207-14.043-12.041 10.104-1.757 22.36 8.813 34.958 2.467 2.94 3.641 5.732 3.865 8.134zm19.105 28.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
},
"$:/core/images/up-arrow": {
"title": "$:/core/images/up-arrow",
"created": "20150316000544368",
"modified": "20150316000831867",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-up-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M63.892.281c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.104 3.092-11.196 0L63.894 19.393 13.513 69.774a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98A7.892 7.892 0 0163.893.28z\"/></svg>"
},
"$:/core/images/video": {
"title": "$:/core/images/video",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-video tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 12c-34.91 0-55.273 2.917-58.182 5.833C2.91 20.75 0 41.167 0 64.5c0 23.333 2.91 43.75 5.818 46.667C8.728 114.083 29.091 117 64 117c34.91 0 55.273-2.917 58.182-5.833C125.09 108.25 128 87.833 128 64.5c0-23.333-2.91-43.75-5.818-46.667C119.272 14.917 98.909 12 64 12zm-9.084 32.618c-3.813-2.542-6.905-.879-6.905 3.698v31.368c0 4.585 3.099 6.235 6.905 3.698l22.168-14.779c3.813-2.542 3.806-6.669 0-9.206L54.916 44.618z\"/></svg>"
},
"$:/core/images/warning": {
"title": "$:/core/images/warning",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-warning tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\"/></svg>"
},
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "advanced search"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Advanced search"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "cancel"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Discard changes to this tiddler"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "clone"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Clone this tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "close"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Close this tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "close all"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Close all tiddlers"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "close others"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Close other tiddlers"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "control panel"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Open control panel"
},
"$:/language/Buttons/CopyToClipboard/Caption": {
"title": "$:/language/Buttons/CopyToClipboard/Caption",
"text": "copy to clipboard"
},
"$:/language/Buttons/CopyToClipboard/Hint": {
"title": "$:/language/Buttons/CopyToClipboard/Hint",
"text": "Copy this text to the clipboard"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "delete"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Delete this tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "edit"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Edit this tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "encryption"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Set or clear a password for saving this wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "clear password"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Clear the password and save this wiki without encryption"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "set password"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Set a password for saving this wiki with encryption"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "export all"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Export all tiddlers"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "export tiddler"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Export tiddler"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "export tiddlers"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Export tiddlers"
},
"$:/language/Buttons/SidebarSearch/Hint": {
"title": "$:/language/Buttons/SidebarSearch/Hint",
"text": "Select the sidebar search field"
},
"$:/language/Buttons/Fold/Caption": {
"title": "$:/language/Buttons/Fold/Caption",
"text": "fold tiddler"
},
"$:/language/Buttons/Fold/Hint": {
"title": "$:/language/Buttons/Fold/Hint",
"text": "Fold the body of this tiddler"
},
"$:/language/Buttons/Fold/FoldBar/Caption": {
"title": "$:/language/Buttons/Fold/FoldBar/Caption",
"text": "fold-bar"
},
"$:/language/Buttons/Fold/FoldBar/Hint": {
"title": "$:/language/Buttons/Fold/FoldBar/Hint",
"text": "Optional bars to fold and unfold tiddlers"
},
"$:/language/Buttons/Unfold/Caption": {
"title": "$:/language/Buttons/Unfold/Caption",
"text": "unfold tiddler"
},
"$:/language/Buttons/Unfold/Hint": {
"title": "$:/language/Buttons/Unfold/Hint",
"text": "Unfold the body of this tiddler"
},
"$:/language/Buttons/FoldOthers/Caption": {
"title": "$:/language/Buttons/FoldOthers/Caption",
"text": "fold other tiddlers"
},
"$:/language/Buttons/FoldOthers/Hint": {
"title": "$:/language/Buttons/FoldOthers/Hint",
"text": "Fold the bodies of other opened tiddlers"
},
"$:/language/Buttons/FoldAll/Caption": {
"title": "$:/language/Buttons/FoldAll/Caption",
"text": "fold all tiddlers"
},
"$:/language/Buttons/FoldAll/Hint": {
"title": "$:/language/Buttons/FoldAll/Hint",
"text": "Fold the bodies of all opened tiddlers"
},
"$:/language/Buttons/UnfoldAll/Caption": {
"title": "$:/language/Buttons/UnfoldAll/Caption",
"text": "unfold all tiddlers"
},
"$:/language/Buttons/UnfoldAll/Hint": {
"title": "$:/language/Buttons/UnfoldAll/Hint",
"text": "Unfold the bodies of all opened tiddlers"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "full-screen"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Enter or leave full-screen mode"
},
"$:/language/Buttons/Help/Caption": {
"title": "$:/language/Buttons/Help/Caption",
"text": "help"
},
"$:/language/Buttons/Help/Hint": {
"title": "$:/language/Buttons/Help/Hint",
"text": "Show help panel"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "import"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Import many types of file including text, image, TiddlyWiki or JSON"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "info"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Show information for this tiddler"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "home"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Open the default tiddlers"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "language"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Choose the user interface language"
},
"$:/language/Buttons/Manager/Caption": {
"title": "$:/language/Buttons/Manager/Caption",
"text": "tiddler manager"
},
"$:/language/Buttons/Manager/Hint": {
"title": "$:/language/Buttons/Manager/Hint",
"text": "Open tiddler manager"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "more"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "More actions"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "new here"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Create a new tiddler tagged with this one"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "new journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Create a new journal tiddler"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "new journal here"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Create a new journal tiddler tagged with this one"
},
"$:/language/Buttons/NewImage/Caption": {
"title": "$:/language/Buttons/NewImage/Caption",
"text": "new image"
},
"$:/language/Buttons/NewImage/Hint": {
"title": "$:/language/Buttons/NewImage/Hint",
"text": "Create a new image tiddler"
},
"$:/language/Buttons/NewMarkdown/Caption": {
"title": "$:/language/Buttons/NewMarkdown/Caption",
"text": "new Markdown tiddler"
},
"$:/language/Buttons/NewMarkdown/Hint": {
"title": "$:/language/Buttons/NewMarkdown/Hint",
"text": "Create a new Markdown tiddler"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "new tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Create a new tiddler"
},
"$:/language/Buttons/OpenWindow/Caption": {
"title": "$:/language/Buttons/OpenWindow/Caption",
"text": "open in new window"
},
"$:/language/Buttons/OpenWindow/Hint": {
"title": "$:/language/Buttons/OpenWindow/Hint",
"text": "Open tiddler in new window"
},
"$:/language/Buttons/Palette/Caption": {
"title": "$:/language/Buttons/Palette/Caption",
"text": "palette"
},
"$:/language/Buttons/Palette/Hint": {
"title": "$:/language/Buttons/Palette/Hint",
"text": "Choose the colour palette"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Set browser address bar to a direct link to this tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Set browser address bar to a direct link to all the tiddlers in this story"
},
"$:/language/Buttons/Print/Caption": {
"title": "$:/language/Buttons/Print/Caption",
"text": "print page"
},
"$:/language/Buttons/Print/Hint": {
"title": "$:/language/Buttons/Print/Hint",
"text": "Print the current page"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "refresh"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Perform a full refresh of the wiki"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "ok"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Confirm changes to this tiddler"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "save changes"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Save changes"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "storyview"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Choose the story visualisation"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "hide sidebar"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Hide sidebar"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "show sidebar"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Show sidebar"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "tag manager"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "Open tag manager"
},
"$:/language/Buttons/Timestamp/Caption": {
"title": "$:/language/Buttons/Timestamp/Caption",
"text": "timestamps"
},
"$:/language/Buttons/Timestamp/Hint": {
"title": "$:/language/Buttons/Timestamp/Hint",
"text": "Choose whether modifications update timestamps"
},
"$:/language/Buttons/Timestamp/On/Caption": {
"title": "$:/language/Buttons/Timestamp/On/Caption",
"text": "timestamps are on"
},
"$:/language/Buttons/Timestamp/On/Hint": {
"title": "$:/language/Buttons/Timestamp/On/Hint",
"text": "Update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Timestamp/Off/Caption": {
"title": "$:/language/Buttons/Timestamp/Off/Caption",
"text": "timestamps are off"
},
"$:/language/Buttons/Timestamp/Off/Hint": {
"title": "$:/language/Buttons/Timestamp/Off/Hint",
"text": "Don't update timestamps when tiddlers are modified"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "theme"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Choose the display theme"
},
"$:/language/Buttons/Bold/Caption": {
"title": "$:/language/Buttons/Bold/Caption",
"text": "bold"
},
"$:/language/Buttons/Bold/Hint": {
"title": "$:/language/Buttons/Bold/Hint",
"text": "Apply bold formatting to selection"
},
"$:/language/Buttons/Clear/Caption": {
"title": "$:/language/Buttons/Clear/Caption",
"text": "clear"
},
"$:/language/Buttons/Clear/Hint": {
"title": "$:/language/Buttons/Clear/Hint",
"text": "Clear image to solid colour"
},
"$:/language/Buttons/EditorHeight/Caption": {
"title": "$:/language/Buttons/EditorHeight/Caption",
"text": "editor height"
},
"$:/language/Buttons/EditorHeight/Caption/Auto": {
"title": "$:/language/Buttons/EditorHeight/Caption/Auto",
"text": "Automatically adjust height to fit content"
},
"$:/language/Buttons/EditorHeight/Caption/Fixed": {
"title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
"text": "Fixed height:"
},
"$:/language/Buttons/EditorHeight/Hint": {
"title": "$:/language/Buttons/EditorHeight/Hint",
"text": "Choose the height of the text editor"
},
"$:/language/Buttons/Excise/Caption": {
"title": "$:/language/Buttons/Excise/Caption",
"text": "excise"
},
"$:/language/Buttons/Excise/Caption/Excise": {
"title": "$:/language/Buttons/Excise/Caption/Excise",
"text": "Perform excision"
},
"$:/language/Buttons/Excise/Caption/MacroName": {
"title": "$:/language/Buttons/Excise/Caption/MacroName",
"text": "Macro name:"
},
"$:/language/Buttons/Excise/Caption/NewTitle": {
"title": "$:/language/Buttons/Excise/Caption/NewTitle",
"text": "Title of new tiddler:"
},
"$:/language/Buttons/Excise/Caption/Replace": {
"title": "$:/language/Buttons/Excise/Caption/Replace",
"text": "Replace excised text with:"
},
"$:/language/Buttons/Excise/Caption/Replace/Macro": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
"text": "macro"
},
"$:/language/Buttons/Excise/Caption/Replace/Link": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Link",
"text": "link"
},
"$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
"title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
"text": "transclusion"
},
"$:/language/Buttons/Excise/Caption/Tag": {
"title": "$:/language/Buttons/Excise/Caption/Tag",
"text": "Tag new tiddler with the title of this tiddler"
},
"$:/language/Buttons/Excise/Caption/TiddlerExists": {
"title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
"text": "Warning: tiddler already exists"
},
"$:/language/Buttons/Excise/Hint": {
"title": "$:/language/Buttons/Excise/Hint",
"text": "Excise the selected text into a new tiddler"
},
"$:/language/Buttons/Heading1/Caption": {
"title": "$:/language/Buttons/Heading1/Caption",
"text": "heading 1"
},
"$:/language/Buttons/Heading1/Hint": {
"title": "$:/language/Buttons/Heading1/Hint",
"text": "Apply heading level 1 formatting to lines containing selection"
},
"$:/language/Buttons/Heading2/Caption": {
"title": "$:/language/Buttons/Heading2/Caption",
"text": "heading 2"
},
"$:/language/Buttons/Heading2/Hint": {
"title": "$:/language/Buttons/Heading2/Hint",
"text": "Apply heading level 2 formatting to lines containing selection"
},
"$:/language/Buttons/Heading3/Caption": {
"title": "$:/language/Buttons/Heading3/Caption",
"text": "heading 3"
},
"$:/language/Buttons/Heading3/Hint": {
"title": "$:/language/Buttons/Heading3/Hint",
"text": "Apply heading level 3 formatting to lines containing selection"
},
"$:/language/Buttons/Heading4/Caption": {
"title": "$:/language/Buttons/Heading4/Caption",
"text": "heading 4"
},
"$:/language/Buttons/Heading4/Hint": {
"title": "$:/language/Buttons/Heading4/Hint",
"text": "Apply heading level 4 formatting to lines containing selection"
},
"$:/language/Buttons/Heading5/Caption": {
"title": "$:/language/Buttons/Heading5/Caption",
"text": "heading 5"
},
"$:/language/Buttons/Heading5/Hint": {
"title": "$:/language/Buttons/Heading5/Hint",
"text": "Apply heading level 5 formatting to lines containing selection"
},
"$:/language/Buttons/Heading6/Caption": {
"title": "$:/language/Buttons/Heading6/Caption",
"text": "heading 6"
},
"$:/language/Buttons/Heading6/Hint": {
"title": "$:/language/Buttons/Heading6/Hint",
"text": "Apply heading level 6 formatting to lines containing selection"
},
"$:/language/Buttons/Italic/Caption": {
"title": "$:/language/Buttons/Italic/Caption",
"text": "italic"
},
"$:/language/Buttons/Italic/Hint": {
"title": "$:/language/Buttons/Italic/Hint",
"text": "Apply italic formatting to selection"
},
"$:/language/Buttons/LineWidth/Caption": {
"title": "$:/language/Buttons/LineWidth/Caption",
"text": "line width"
},
"$:/language/Buttons/LineWidth/Hint": {
"title": "$:/language/Buttons/LineWidth/Hint",
"text": "Set line width for painting"
},
"$:/language/Buttons/Link/Caption": {
"title": "$:/language/Buttons/Link/Caption",
"text": "link"
},
"$:/language/Buttons/Link/Hint": {
"title": "$:/language/Buttons/Link/Hint",
"text": "Create wikitext link"
},
"$:/language/Buttons/Linkify/Caption": {
"title": "$:/language/Buttons/Linkify/Caption",
"text": "wikilink"
},
"$:/language/Buttons/Linkify/Hint": {
"title": "$:/language/Buttons/Linkify/Hint",
"text": "Wrap selection in square brackets"
},
"$:/language/Buttons/ListBullet/Caption": {
"title": "$:/language/Buttons/ListBullet/Caption",
"text": "bulleted list"
},
"$:/language/Buttons/ListBullet/Hint": {
"title": "$:/language/Buttons/ListBullet/Hint",
"text": "Apply bulleted list formatting to lines containing selection"
},
"$:/language/Buttons/ListNumber/Caption": {
"title": "$:/language/Buttons/ListNumber/Caption",
"text": "numbered list"
},
"$:/language/Buttons/ListNumber/Hint": {
"title": "$:/language/Buttons/ListNumber/Hint",
"text": "Apply numbered list formatting to lines containing selection"
},
"$:/language/Buttons/MonoBlock/Caption": {
"title": "$:/language/Buttons/MonoBlock/Caption",
"text": "monospaced block"
},
"$:/language/Buttons/MonoBlock/Hint": {
"title": "$:/language/Buttons/MonoBlock/Hint",
"text": "Apply monospaced block formatting to lines containing selection"
},
"$:/language/Buttons/MonoLine/Caption": {
"title": "$:/language/Buttons/MonoLine/Caption",
"text": "monospaced"
},
"$:/language/Buttons/MonoLine/Hint": {
"title": "$:/language/Buttons/MonoLine/Hint",
"text": "Apply monospaced character formatting to selection"
},
"$:/language/Buttons/Opacity/Caption": {
"title": "$:/language/Buttons/Opacity/Caption",
"text": "opacity"
},
"$:/language/Buttons/Opacity/Hint": {
"title": "$:/language/Buttons/Opacity/Hint",
"text": "Set painting opacity"
},
"$:/language/Buttons/Paint/Caption": {
"title": "$:/language/Buttons/Paint/Caption",
"text": "paint colour"
},
"$:/language/Buttons/Paint/Hint": {
"title": "$:/language/Buttons/Paint/Hint",
"text": "Set painting colour"
},
"$:/language/Buttons/Picture/Caption": {
"title": "$:/language/Buttons/Picture/Caption",
"text": "picture"
},
"$:/language/Buttons/Picture/Hint": {
"title": "$:/language/Buttons/Picture/Hint",
"text": "Insert picture"
},
"$:/language/Buttons/Preview/Caption": {
"title": "$:/language/Buttons/Preview/Caption",
"text": "preview"
},
"$:/language/Buttons/Preview/Hint": {
"title": "$:/language/Buttons/Preview/Hint",
"text": "Show preview pane"
},
"$:/language/Buttons/PreviewType/Caption": {
"title": "$:/language/Buttons/PreviewType/Caption",
"text": "preview type"
},
"$:/language/Buttons/PreviewType/Hint": {
"title": "$:/language/Buttons/PreviewType/Hint",
"text": "Choose preview type"
},
"$:/language/Buttons/Quote/Caption": {
"title": "$:/language/Buttons/Quote/Caption",
"text": "quote"
},
"$:/language/Buttons/Quote/Hint": {
"title": "$:/language/Buttons/Quote/Hint",
"text": "Apply quoted text formatting to lines containing selection"
},
"$:/language/Buttons/RotateLeft/Caption": {
"title": "$:/language/Buttons/RotateLeft/Caption",
"text": "rotate left"
},
"$:/language/Buttons/RotateLeft/Hint": {
"title": "$:/language/Buttons/RotateLeft/Hint",
"text": "Rotate image left by 90 degrees"
},
"$:/language/Buttons/Size/Caption": {
"title": "$:/language/Buttons/Size/Caption",
"text": "image size"
},
"$:/language/Buttons/Size/Caption/Height": {
"title": "$:/language/Buttons/Size/Caption/Height",
"text": "Height:"
},
"$:/language/Buttons/Size/Caption/Resize": {
"title": "$:/language/Buttons/Size/Caption/Resize",
"text": "Resize image"
},
"$:/language/Buttons/Size/Caption/Width": {
"title": "$:/language/Buttons/Size/Caption/Width",
"text": "Width:"
},
"$:/language/Buttons/Size/Hint": {
"title": "$:/language/Buttons/Size/Hint",
"text": "Set image size"
},
"$:/language/Buttons/Stamp/Caption": {
"title": "$:/language/Buttons/Stamp/Caption",
"text": "stamp"
},
"$:/language/Buttons/Stamp/Caption/New": {
"title": "$:/language/Buttons/Stamp/Caption/New",
"text": "Add your own"
},
"$:/language/Buttons/Stamp/Hint": {
"title": "$:/language/Buttons/Stamp/Hint",
"text": "Insert a preconfigured snippet of text"
},
"$:/language/Buttons/Stamp/New/Title": {
"title": "$:/language/Buttons/Stamp/New/Title",
"text": "Name as shown in menu"
},
"$:/language/Buttons/Stamp/New/Text": {
"title": "$:/language/Buttons/Stamp/New/Text",
"text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
},
"$:/language/Buttons/Strikethrough/Caption": {
"title": "$:/language/Buttons/Strikethrough/Caption",
"text": "strikethrough"
},
"$:/language/Buttons/Strikethrough/Hint": {
"title": "$:/language/Buttons/Strikethrough/Hint",
"text": "Apply strikethrough formatting to selection"
},
"$:/language/Buttons/Subscript/Caption": {
"title": "$:/language/Buttons/Subscript/Caption",
"text": "subscript"
},
"$:/language/Buttons/Subscript/Hint": {
"title": "$:/language/Buttons/Subscript/Hint",
"text": "Apply subscript formatting to selection"
},
"$:/language/Buttons/Superscript/Caption": {
"title": "$:/language/Buttons/Superscript/Caption",
"text": "superscript"
},
"$:/language/Buttons/Superscript/Hint": {
"title": "$:/language/Buttons/Superscript/Hint",
"text": "Apply superscript formatting to selection"
},
"$:/language/Buttons/ToggleSidebar/Hint": {
"title": "$:/language/Buttons/ToggleSidebar/Hint",
"text": "Toggle the sidebar visibility"
},
"$:/language/Buttons/Transcludify/Caption": {
"title": "$:/language/Buttons/Transcludify/Caption",
"text": "transclusion"
},
"$:/language/Buttons/Transcludify/Hint": {
"title": "$:/language/Buttons/Transcludify/Hint",
"text": "Wrap selection in curly brackets"
},
"$:/language/Buttons/Underline/Caption": {
"title": "$:/language/Buttons/Underline/Caption",
"text": "underline"
},
"$:/language/Buttons/Underline/Hint": {
"title": "$:/language/Buttons/Underline/Hint",
"text": "Apply underline formatting to selection"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Advanced"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Internal information about this TiddlyWiki"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Appearance"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Ways to customise the appearance of your TiddlyWiki."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Animation duration"
},
"$:/language/ControlPanel/Basics/AutoFocus/Prompt": {
"title": "$:/language/ControlPanel/Basics/AutoFocus/Prompt",
"text": "Default focus field for new tiddlers"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Basics"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Default tiddlers"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Choose which tiddlers are displayed at startup"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Hello! Current language:"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Title of new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Text/Prompt",
"text": "Text for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt",
"text": "Title of new tiddlers"
},
"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt",
"text": "Tags for new tiddlers"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Number of overridden shadow tiddlers"
},
"$:/language/ControlPanel/Basics/RemoveTags": {
"title": "$:/language/ControlPanel/Basics/RemoveTags",
"text": "Update to current format"
},
"$:/language/ControlPanel/Basics/RemoveTags/Hint": {
"title": "$:/language/ControlPanel/Basics/RemoveTags/Hint",
"text": "Update the tags configuration to the latest format"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Number of shadow tiddlers"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Subtitle"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Number of system tiddlers"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Number of tags"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Number of tiddlers"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Title of this ~TiddlyWiki"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Username for signing edits"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki version"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Editor Types"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Editor"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "These tiddlers determine which editor is used to edit specific tiddler types."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Information about this TiddlyWiki"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
"text": "Type shortcut here"
},
"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
"text": "add shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
"text": "Keyboard Shortcuts"
},
"$:/language/ControlPanel/KeyboardShortcuts/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
"text": "Manage keyboard shortcut assignments"
},
"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
"text": "No keyboard shortcuts assigned"
},
"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
"text": "remove keyboard shortcut"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
"text": "All platforms"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
"text": "Macintosh platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
"text": "Non-Macintosh platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
"text": "Linux platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
"text": "Non-Linux platforms only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
"text": "Windows platform only"
},
"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
"title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
"text": "Non-Windows platforms only"
},
"$:/language/ControlPanel/LayoutSwitcher/Caption": {
"title": "$:/language/ControlPanel/LayoutSwitcher/Caption",
"text": "Layout"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Loaded Modules"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "clone"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "It is recommended that you clone this shadow palette before editing it"
},
"$:/language/ControlPanel/Palette/Editor/Delete/Hint": {
"title": "$:/language/ControlPanel/Palette/Editor/Delete/Hint",
"text": "delete this entry from the current palette"
},
"$:/language/ControlPanel/Palette/Editor/Names/External/Show": {
"title": "$:/language/ControlPanel/Palette/Editor/Names/External/Show",
"text": "Show color names that are not part of the current palette"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "This shadow palette has been modified"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Editing"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "reset"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "hide editor"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Current palette:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "show editor"
},
"$:/language/ControlPanel/Parsing/Caption": {
"title": "$:/language/ControlPanel/Parsing/Caption",
"text": "Parsing"
},
"$:/language/ControlPanel/Parsing/Hint": {
"title": "$:/language/ControlPanel/Parsing/Hint",
"text": "Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation."
},
"$:/language/ControlPanel/Parsing/Block/Caption": {
"title": "$:/language/ControlPanel/Parsing/Block/Caption",
"text": "Block Parse Rules"
},
"$:/language/ControlPanel/Parsing/Inline/Caption": {
"title": "$:/language/ControlPanel/Parsing/Inline/Caption",
"text": "Inline Parse Rules"
},
"$:/language/ControlPanel/Parsing/Pragma/Caption": {
"title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
"text": "Pragma Parse Rules"
},
"$:/language/ControlPanel/Plugins/Add/Caption": {
"title": "$:/language/ControlPanel/Plugins/Add/Caption",
"text": "Get more plugins"
},
"$:/language/ControlPanel/Plugins/Add/Hint": {
"title": "$:/language/ControlPanel/Plugins/Add/Hint",
"text": "Install plugins from the official library"
},
"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
"text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
},
"$:/language/ControlPanel/Plugins/AlsoRequires": {
"title": "$:/language/ControlPanel/Plugins/AlsoRequires",
"text": "Also requires:"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "disable"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Disable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(disabled)"
},
"$:/language/ControlPanel/Plugins/Downgrade/Caption": {
"title": "$:/language/ControlPanel/Plugins/Downgrade/Caption",
"text": "downgrade"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "None"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "enable"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Enable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Install/Caption": {
"title": "$:/language/ControlPanel/Plugins/Install/Caption",
"text": "install"
},
"$:/language/ControlPanel/Plugins/Installed/Hint": {
"title": "$:/language/ControlPanel/Plugins/Installed/Hint",
"text": "Currently installed plugins:"
},
"$:/language/ControlPanel/Plugins/Languages/Caption": {
"title": "$:/language/ControlPanel/Plugins/Languages/Caption",
"text": "Languages"
},
"$:/language/ControlPanel/Plugins/Languages/Hint": {
"title": "$:/language/ControlPanel/Plugins/Languages/Hint",
"text": "Language pack plugins"
},
"$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
"title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
"text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
},
"$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
"title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
"text": "This plugin is not currently installed"
},
"$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
"text": "open plugin library"
},
"$:/language/ControlPanel/Plugins/ClosePluginLibrary": {
"title": "$:/language/ControlPanel/Plugins/ClosePluginLibrary",
"text": "close plugin library"
},
"$:/language/ControlPanel/Plugins/PluginWillRequireReload": {
"title": "$:/language/ControlPanel/Plugins/PluginWillRequireReload",
"text": "(requires reload)"
},
"$:/language/ControlPanel/Plugins/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Plugins/Hint": {
"title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Reinstall/Caption": {
"title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
"text": "reinstall"
},
"$:/language/ControlPanel/Plugins/Themes/Caption": {
"title": "$:/language/ControlPanel/Plugins/Themes/Caption",
"text": "Themes"
},
"$:/language/ControlPanel/Plugins/Themes/Hint": {
"title": "$:/language/ControlPanel/Plugins/Themes/Hint",
"text": "Theme plugins"
},
"$:/language/ControlPanel/Plugins/Update/Caption": {
"title": "$:/language/ControlPanel/Plugins/Update/Caption",
"text": "update"
},
"$:/language/ControlPanel/Plugins/Updates/Caption": {
"title": "$:/language/ControlPanel/Plugins/Updates/Caption",
"text": "Updates"
},
"$:/language/ControlPanel/Plugins/Updates/Hint": {
"title": "$:/language/ControlPanel/Plugins/Updates/Hint",
"text": "Available updates to installed plugins"
},
"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption": {
"title": "$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption",
"text": "Update <<update-count>> plugins"
},
"$:/language/ControlPanel/Plugins/SubPluginPrompt": {
"title": "$:/language/ControlPanel/Plugins/SubPluginPrompt",
"text": "With <<count>> sub-plugins available"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description",
"text": "Permit automatic saving for the download saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint",
"text": "Enable Autosave for Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Caption": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Caption",
"text": "Download Saver"
},
"$:/language/ControlPanel/Saving/DownloadSaver/Hint": {
"title": "$:/language/ControlPanel/Saving/DownloadSaver/Hint",
"text": "These settings apply to the HTML5-compatible download saver"
},
"$:/language/ControlPanel/Saving/General/Caption": {
"title": "$:/language/ControlPanel/Saving/General/Caption",
"text": "General"
},
"$:/language/ControlPanel/Saving/General/Hint": {
"title": "$:/language/ControlPanel/Saving/General/Hint",
"text": "These settings apply to all the loaded savers"
},
"$:/language/ControlPanel/Saving/Hint": {
"title": "$:/language/ControlPanel/Saving/Hint",
"text": "Settings used for saving the entire TiddlyWiki as a single file via a saver module"
},
"$:/language/ControlPanel/Saving/GitService/Branch": {
"title": "$:/language/ControlPanel/Saving/GitService/Branch",
"text": "Target branch for saving"
},
"$:/language/ControlPanel/Saving/GitService/CommitMessage": {
"title": "$:/language/ControlPanel/Saving/GitService/CommitMessage",
"text": "Saved by TiddlyWiki"
},
"$:/language/ControlPanel/Saving/GitService/Description": {
"title": "$:/language/ControlPanel/Saving/GitService/Description",
"text": "These settings are only used when saving to <<service-name>>"
},
"$:/language/ControlPanel/Saving/GitService/Filename": {
"title": "$:/language/ControlPanel/Saving/GitService/Filename",
"text": "Filename of target file (e.g. `index.html`)"
},
"$:/language/ControlPanel/Saving/GitService/Path": {
"title": "$:/language/ControlPanel/Saving/GitService/Path",
"text": "Path to target file (e.g. `/wiki/`)"
},
"$:/language/ControlPanel/Saving/GitService/Repo": {
"title": "$:/language/ControlPanel/Saving/GitService/Repo",
"text": "Target repository (e.g. `Jermolene/TiddlyWiki5`)"
},
"$:/language/ControlPanel/Saving/GitService/ServerURL": {
"title": "$:/language/ControlPanel/Saving/GitService/ServerURL",
"text": "Server API URL"
},
"$:/language/ControlPanel/Saving/GitService/UserName": {
"title": "$:/language/ControlPanel/Saving/GitService/UserName",
"text": "Username"
},
"$:/language/ControlPanel/Saving/GitService/GitHub/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/GitHub/Caption",
"text": "~GitHub Saver"
},
"$:/language/ControlPanel/Saving/GitService/GitHub/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/GitHub/Password",
"text": "Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)"
},
"$:/language/ControlPanel/Saving/GitService/GitLab/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/GitLab/Caption",
"text": "~GitLab Saver"
},
"$:/language/ControlPanel/Saving/GitService/GitLab/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/GitLab/Password",
"text": "Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)"
},
"$:/language/ControlPanel/Saving/GitService/Gitea/Caption": {
"title": "$:/language/ControlPanel/Saving/GitService/Gitea/Caption",
"text": "Gitea Saver"
},
"$:/language/ControlPanel/Saving/GitService/Gitea/Password": {
"title": "$:/language/ControlPanel/Saving/GitService/Gitea/Password",
"text": "Personal access token for API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Advanced Settings"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Backup Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel",
"text": "~TiddlySpot Control Panel"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "Backups"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Caption": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Caption",
"text": "~TiddlySpot Saver"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Upload Filename"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Password"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly",
"text": "The ~TiddlySpot service is currently only available in read-only form. Please see http://tiddlyspot.com/ for the latest details. The ~TiddlySpot saver can still be used to save to compatible servers."
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "Server URL"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Upload Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Wiki Name"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Autosave"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Do not save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Attempt to automatically save changes during editing when using a supporting saver"
},
"$:/language/ControlPanel/Settings/CamelCase/Caption": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
"text": "Camel Case Wiki Links"
},
"$:/language/ControlPanel/Settings/CamelCase/Hint": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
"text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/CamelCase/Description": {
"title": "$:/language/ControlPanel/Settings/CamelCase/Description",
"text": "Enable automatic ~CamelCase linking"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Settings"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
"text": "Enable or disable the editor toolbar:"
},
"$:/language/ControlPanel/Settings/EditorToolbar/Description": {
"title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
"text": "Show editor toolbar"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Caption": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Caption",
"text": "Tiddler Info Panel Mode"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Hint": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Hint",
"text": "Control when the tiddler info panel closes:"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description",
"text": "Tiddler info panel closes automatically"
},
"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description": {
"title": "$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description",
"text": "Tiddler info panel stays open until explicitly closed"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "These settings let you customise the behaviour of TiddlyWiki."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Navigation Address Bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Behaviour of the browser address bar when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Do not update the address bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Include the target tiddler"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Include the target tiddler and the current story sequence"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Navigation History"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Update browser history when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Do not update history"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Update history"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption",
"text": "Permalink/permaview Mode"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint",
"text": "Choose how permalink/permaview is handled:"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description",
"text": "Copy permalink/permaview URL to clipboard"
},
"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description",
"text": "Update address bar with permalink/permaview URL"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
"text": "Performance Instrumentation"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
"text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
},
"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
"title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
"text": "Enable performance instrumentation"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
"text": "Toolbar Button Style"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
"text": "Choose the style for toolbar buttons:"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
"text": "Borderless"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
"text": "Boxed"
},
"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
"text": "Rounded"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Toolbar Buttons"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Default toolbar button appearance:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Include icon"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Include text"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
"text": "Default Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
"text": "Specify which sidebar tab is displayed by default"
},
"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption": {
"title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption",
"text": "Default More Sidebar Tab"
},
"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint": {
"title": "$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint",
"text": "Specify which More sidebar tab is displayed by default"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
"text": "Tiddler Opening Behaviour"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
"text": "Navigation from //within// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
"text": "Navigation from //outside// the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
"text": "Open above the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
"text": "Open below the current tiddler"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
"text": "Open at the top of the story river"
},
"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
"title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
"text": "Open at the bottom of the story river"
},
"$:/language/ControlPanel/Settings/TitleLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
"text": "Tiddler Titles"
},
"$:/language/ControlPanel/Settings/TitleLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
"text": "Optionally display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
"text": "Do not display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
"text": "Display tiddler titles as links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Caption": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
"text": "Wiki Links"
},
"$:/language/ControlPanel/Settings/MissingLinks/Hint": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
"text": "Choose whether to link to tiddlers that do not exist yet"
},
"$:/language/ControlPanel/Settings/MissingLinks/Description": {
"title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
"text": "Enable links to missing tiddlers"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Story View"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Current view:"
},
"$:/language/ControlPanel/Stylesheets/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Caption",
"text": "Stylesheets"
},
"$:/language/ControlPanel/Stylesheets/Expand/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Expand/Caption",
"text": "Expand All"
},
"$:/language/ControlPanel/Stylesheets/Hint": {
"title": "$:/language/ControlPanel/Stylesheets/Hint",
"text": "This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>"
},
"$:/language/ControlPanel/Stylesheets/Restore/Caption": {
"title": "$:/language/ControlPanel/Stylesheets/Restore/Caption",
"text": "Restore"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Theme"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Current theme:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Tiddler Fields"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Toolbars"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Edit Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Select which toolbar buttons are displayed"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Page Toolbar"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
"text": "Editor Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
"text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "View Toolbar"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Download full wiki"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "st"
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": "nd"
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": "rd"
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": "th"
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": "th"
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": "th"
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": "th"
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": "th"
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": "th"
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": "th"
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": "th"
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": "th"
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": "th"
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": "th"
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": "th"
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": "th"
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": "th"
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": "th"
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": "th"
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": "th"
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": "st"
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": "nd"
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": "rd"
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": "th"
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": "th"
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": "th"
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": "th"
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": "th"
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": "th"
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": "th"
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": "st"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Sunday"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Monday"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Tuesday"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Wednesday"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Thursday"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Friday"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Saturday"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "January"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "February"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "March"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "April"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "May"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "June"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "July"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "August"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "September"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "October"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "November"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "December"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "Sun"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Mon"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Tue"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Wed"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Thu"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Fri"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sat"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Feb"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mar"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Apr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "May"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aug"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Oct"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Dec"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> days from now"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> hours from now"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> minutes from now"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> months from now"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 second from now"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> seconds from now"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> years from now"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> days ago"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> hours ago"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> minutes ago"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> months ago"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 second ago"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> seconds ago"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> years ago"
},
"$:/language/Docs/ModuleTypes/allfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/allfilteroperator",
"text": "A sub-operator for the ''all'' filter operator."
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animations that may be used with the RevealWidget."
},
"$:/language/Docs/ModuleTypes/authenticator": {
"title": "$:/language/Docs/ModuleTypes/authenticator",
"text": "Defines how requests are authenticated by the built-in HTTP server."
},
"$:/language/Docs/ModuleTypes/bitmapeditoroperation": {
"title": "$:/language/Docs/ModuleTypes/bitmapeditoroperation",
"text": "A bitmap editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Commands that can be executed under Node.js."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Data to be inserted into `$tw.config`."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Individual filter operator methods."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Global data to be inserted into `$tw`."
},
"$:/language/Docs/ModuleTypes/info": {
"title": "$:/language/Docs/ModuleTypes/info",
"text": "Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Operands for the ''is'' filter operator."
},
"$:/language/Docs/ModuleTypes/library": {
"title": "$:/language/Docs/ModuleTypes/library",
"text": "Generic module type for general purpose JavaScript modules."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript macro definitions."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parsers for different content types."
},
"$:/language/Docs/ModuleTypes/route": {
"title": "$:/language/Docs/ModuleTypes/route",
"text": "Defines how individual URL patterns are handled by the built-in HTTP server."
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "Savers handle different methods for saving files from the browser."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Startup functions."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "Story views customise the animation and behaviour of list widgets."
},
"$:/language/Docs/ModuleTypes/texteditoroperation": {
"title": "$:/language/Docs/ModuleTypes/texteditoroperation",
"text": "A text editor toolbar operation."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Converts different content types into tiddlers."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Defines the behaviour of an individual tiddler field."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Adds methods to the `$tw.Tiddler` prototype."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Applies upgrade processing to tiddlers during an upgrade/import."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Adds methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Adds Node.js-specific methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Widgets encapsulate DOM rendering and refreshing."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Adds methods to `$tw.Wiki`."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Individual parser rules for the main WikiText parser."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Alert background"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Alert border"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Alert highlight"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Alert muted foreground"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "General background"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Blockquote bar"
},
"$:/language/Docs/PaletteColours/button-background": {
"title": "$:/language/Docs/PaletteColours/button-background",
"text": "Default button background"
},
"$:/language/Docs/PaletteColours/button-border": {
"title": "$:/language/Docs/PaletteColours/button-border",
"text": "Default button border"
},
"$:/language/Docs/PaletteColours/button-foreground": {
"title": "$:/language/Docs/PaletteColours/button-foreground",
"text": "Default button foreground"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Unsaved changes indicator"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Code background"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Code border"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Code foreground"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Download button background"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Download button foreground"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Dragger background"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Dragger foreground"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Dropdown background"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Dropdown border"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Dropdown tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Dropdown tab background"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Dropzone background"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "External link background hover"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "External link background visited"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "External link background"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "External link foreground hover"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "External link foreground visited"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "External link foreground"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "General foreground"
},
"$:/language/Docs/PaletteColours/menubar-background": {
"title": "$:/language/Docs/PaletteColours/menubar-background",
"text": "Menu bar background"
},
"$:/language/Docs/PaletteColours/menubar-foreground": {
"title": "$:/language/Docs/PaletteColours/menubar-foreground",
"text": "Menu bar foreground"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Message box background"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Message box border"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Message box foreground"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Modal backdrop"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Modal background"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Modal border"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Modal footer background"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Modal footer border"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Modal header border"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "General muted foreground"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Notification background"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Notification border"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Page background"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Preformatted code background"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Preformatted code border"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "General primary"
},
"$:/language/Docs/PaletteColours/select-tag-background": {
"title": "$:/language/Docs/PaletteColours/select-tag-background",
"text": "`<select>` element background"
},
"$:/language/Docs/PaletteColours/select-tag-foreground": {
"title": "$:/language/Docs/PaletteColours/select-tag-foreground",
"text": "`<select>` element text"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Sidebar button foreground"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Sidebar controls foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Sidebar controls foreground"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Sidebar foreground shadow"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Sidebar foreground"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Sidebar muted foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Sidebar muted foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Sidebar tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Sidebar tab background"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Sidebar tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Sidebar tab border"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Sidebar tab divider"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Sidebar tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Sidebar tab foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Sidebar tiddler link foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Sidebar tiddler link foreground"
},
"$:/language/Docs/PaletteColours/site-title-foreground": {
"title": "$:/language/Docs/PaletteColours/site-title-foreground",
"text": "Site title foreground"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Static alert foreground"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Tab background"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Tab border"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Tab divider"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Tab foreground"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Table border"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Table footer background"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Table header background"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Tag background"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Tag foreground"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Tiddler background"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Tiddler border"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Tiddler controls foreground hover"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Tiddler controls foreground for selected controls"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Tiddler controls foreground"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Tiddler editor background"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Tiddler editor border image"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Tiddler editor border"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Tiddler editor background for even fields"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Tiddler editor background for odd fields"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Tiddler info panel background"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Tiddler info panel border"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Tiddler info panel tab background"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Tiddler link background"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Tiddler link foreground"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Tiddler subtitle foreground"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Tiddler title foreground"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Toolbar 'new tiddler' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Toolbar 'options' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Toolbar 'save' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Toolbar 'info' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Toolbar 'edit' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Toolbar 'close' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Toolbar 'delete' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Toolbar 'cancel' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Toolbar 'done' button foreground"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "Untagged pill background"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Very muted foreground"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Type the text for this tiddler"
},
"$:/language/EditTemplate/Body/Preview/Type/Output": {
"title": "$:/language/EditTemplate/Body/Preview/Type/Output",
"text": "output"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "remove field"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Remove field"
},
"$:/language/EditTemplate/Field/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Field/Dropdown/Caption",
"text": "field list"
},
"$:/language/EditTemplate/Field/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Field/Dropdown/Hint",
"text": "Show field list"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Fields/Add/Button/Hint": {
"title": "$:/language/EditTemplate/Fields/Add/Button/Hint",
"text": "Add the new field to the tiddler"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "field name"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Add a new field:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "field value"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/System": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
"text": "System fields"
},
"$:/language/EditTemplate/Fields/Add/Dropdown/User": {
"title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
"text": "User fields"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Tags/Add/Button/Hint": {
"title": "$:/language/EditTemplate/Tags/Add/Button/Hint",
"text": "add tag"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "tag name"
},
"$:/language/EditTemplate/Tags/ClearInput/Caption": {
"title": "$:/language/EditTemplate/Tags/ClearInput/Caption",
"text": "clear input"
},
"$:/language/EditTemplate/Tags/ClearInput/Hint": {
"title": "$:/language/EditTemplate/Tags/ClearInput/Hint",
"text": "Clear tag input"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "tag list"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Show tag list"
},
"$:/language/EditTemplate/Title/BadCharacterWarning": {
"title": "$:/language/EditTemplate/Title/BadCharacterWarning",
"text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
},
"$:/language/EditTemplate/Title/Exists/Prompt": {
"title": "$:/language/EditTemplate/Title/Exists/Prompt",
"text": "Target tiddler already exists"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"
},
"$:/language/EditTemplate/Title/References/Prompt": {
"title": "$:/language/EditTemplate/Title/References/Prompt",
"text": "The following references to this tiddler will not be automatically updated:"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "content type list"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Show content type list"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "delete content type"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Delete content type"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "content type"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Type:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "Static HTML"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON file"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV file"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "\".tid\" file"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "The full URI of an external image tiddler"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "The name of the bag from which a tiddler came"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "The text to be displayed on a tab or button"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "The CSS color value associated with a tiddler"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "The date a tiddler was created"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "The name of the person who created a tiddler"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "For a plugin, lists the dependent plugin titles"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "The descriptive text for a plugin, or a modal dialogue"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "For draft tiddlers, contains the proposed new title of the tiddler"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "The footer text for a wizard"
},
"$:/language/Docs/Fields/hide-body": {
"title": "$:/language/Docs/Fields/hide-body",
"text": "The view template will hide bodies of tiddlers if set to: ''yes''"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "The title of the tiddler containing the icon associated with a tiddler"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "Indicates that a tiddler should be saved as a JavaScript library if set to: ''yes''"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "An ordered list of tiddler titles associated with a tiddler"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "The date and time at which a tiddler was last modified"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "The tiddler title associated with the person who last modified a tiddler"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "The human readable name associated with a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "A numerical value indicating the priority of a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "The type of plugin in a plugin tiddler"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "The revision of the tiddler held at the server"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Date of a TiddlyWiki release"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "The source URL associated with a tiddler"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "The subtitle text for a wizard"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "A list of tags associated with a tiddler"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "The body text of a tiddler"
},
"$:/language/Docs/Fields/throttle.refresh": {
"title": "$:/language/Docs/Fields/throttle.refresh",
"text": "If present, throttles refreshes of this tiddler"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "The unique name of a tiddler"
},
"$:/language/Docs/Fields/toc-link": {
"title": "$:/language/Docs/Fields/toc-link",
"text": "Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "The content type of a tiddler"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "Version information for a plugin"
},
"$:/language/Docs/Fields/_is_skinny": {
"title": "$:/language/Docs/Fields/_is_skinny",
"text": "If present, indicates that the tiddler text field must be loaded from the server"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "All tiddlers except system tiddlers"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Recently modified tiddlers, including system tiddlers"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Recently modified tiddlers"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "All tags except system tags"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Missing tiddlers"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Draft tiddlers"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Orphan tiddlers"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "System tiddlers"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Shadow tiddlers"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Overridden shadow tiddlers"
},
"$:/language/Filters/SessionTiddlers": {
"title": "$:/language/Filters/SessionTiddlers",
"text": "Tiddlers modified since the wiki was loaded"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "System tags"
},
"$:/language/Filters/StoryList": {
"title": "$:/language/Filters/StoryList",
"text": "Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"
},
"$:/language/Filters/TypedTiddlers": {
"title": "$:/language/Filters/TypedTiddlers",
"text": "Non wiki-text tiddlers"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Automatically run configured commands",
"text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Clear a password for subsequent crypto operations",
"text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/deletetiddlers": {
"title": "$:/language/Help/deletetiddlers",
"description": "Deletes a group of tiddlers",
"text": "<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Lists the available editions of TiddlyWiki",
"text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
},
"$:/language/Help/fetch": {
"title": "$:/language/Help/fetch",
"description": "Fetch tiddlers from wiki by URL",
"text": "Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Display help for TiddlyWiki commands",
"text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
},
"$:/language/Help/import": {
"title": "$:/language/Help/import",
"description": "Import tiddlers from a file",
"text": "Import tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialise a new wiki folder",
"text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
},
"$:/language/Help/listen": {
"title": "$:/language/Help/listen",
"description": "Provides an HTTP server interface to TiddlyWiki",
"text": "Serves a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of header to be used for trusted authentication\n* ''readers'' - comma separated list of principals allowed to read from this wiki\n* ''writers'' - comma separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Load tiddlers from a file",
"text": "Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Construct library plugin required by upgrade process",
"text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "No such help item"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Set the base output directory for subsequent commands",
"text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Set a password for subsequent crypto operations",
"text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
},
"$:/language/Help/render": {
"title": "$:/language/Help/render",
"description": "Renders individual tiddlers to files",
"text": "Render individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variable\n* ''value'': Value of optional variable\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Render an individual tiddler as a specified ContentType",
"text": "(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Render tiddlers matching a filter to a specified ContentType",
"text": "(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
},
"$:/language/Help/save": {
"title": "$:/language/Help/save",
"description": "Saves individual raw tiddlers to files",
"text": "Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets : `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Saves a raw tiddler to a file",
"text": "(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Saves a group of raw tiddlers to a directory",
"text": "(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
},
"$:/language/Help/savewikifolder": {
"title": "$:/language/Help/savewikifolder",
"description": "Saves a wiki to a new wiki folder",
"text": "<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)",
"text": "Legacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Prepares external tiddlers for use",
"text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Unpack the payload tiddlers from a plugin",
"text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Triggers verbose output mode",
"text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Displays the version number of TiddlyWiki",
"text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
},
"$:/language/Import/Imported/Hint": {
"title": "$:/language/Import/Imported/Hint",
"text": "The following tiddlers were imported:"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Cancel"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "These tiddlers are ready to import:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Import"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Select"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Status"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Title"
},
"$:/language/Import/Listing/Preview": {
"title": "$:/language/Import/Listing/Preview",
"text": "Preview:"
},
"$:/language/Import/Listing/Preview/Text": {
"title": "$:/language/Import/Listing/Preview/Text",
"text": "Text"
},
"$:/language/Import/Listing/Preview/TextRaw": {
"title": "$:/language/Import/Listing/Preview/TextRaw",
"text": "Text (Raw)"
},
"$:/language/Import/Listing/Preview/Fields": {
"title": "$:/language/Import/Listing/Preview/Fields",
"text": "Fields"
},
"$:/language/Import/Listing/Preview/Diff": {
"title": "$:/language/Import/Listing/Preview/Diff",
"text": "Diff"
},
"$:/language/Import/Listing/Preview/DiffFields": {
"title": "$:/language/Import/Listing/Preview/DiffFields",
"text": "Diff (Fields)"
},
"$:/language/Import/Listing/Rename/Tooltip": {
"title": "$:/language/Import/Listing/Rename/Tooltip",
"text": "Rename tiddler before importing"
},
"$:/language/Import/Listing/Rename/Prompt": {
"title": "$:/language/Import/Listing/Rename/Prompt",
"text": "Rename to:"
},
"$:/language/Import/Listing/Rename/ConfirmRename": {
"title": "$:/language/Import/Listing/Rename/ConfirmRename",
"text": "Rename tiddler"
},
"$:/language/Import/Listing/Rename/CancelRename": {
"title": "$:/language/Import/Listing/Rename/CancelRename",
"text": "Cancel"
},
"$:/language/Import/Listing/Rename/OverwriteWarning": {
"title": "$:/language/Import/Listing/Rename/OverwriteWarning",
"text": "A tiddler with this title already exists."
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Blocked incompatible or obsolete plugin."
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Blocked plugin (due to incoming <<incoming>> not being newer than existing <<existing>>)."
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Upgraded plugin from <<incoming>> to <<upgraded>>."
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Blocked temporary state tiddler."
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Blocked system tiddler."
},
"$:/language/Import/Upgrader/System/Warning": {
"title": "$:/language/Import/Upgrader/System/Warning",
"text": "Core module tiddler."
},
"$:/language/Import/Upgrader/System/Alert": {
"title": "$:/language/Import/Upgrader/System/Alert",
"text": "You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable."
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Migrated theme tweak from <$text text=<<from>>/>."
},
"$:/language/AboveStory/ClassicPlugin/Warning": {
"title": "$:/language/AboveStory/ClassicPlugin/Warning",
"text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "This tiddler contains binary data"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details."
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "upgrade"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "close all"
},
"$:/language/ColourPicker/Recent": {
"title": "$:/language/ColourPicker/Recent",
"text": "Recent:"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmAction": {
"title": "$:/language/ConfirmAction",
"text": "Do you wish to proceed?"
},
"$:/language/Count": {
"title": "$:/language/Count",
"text": "count"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "New Tiddler"
},
"$:/language/Diffs/CountMessage": {
"title": "$:/language/Diffs/CountMessage",
"text": "<<diff-count>> differences"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Drop here (or use the 'Escape' key to cancel)"
},
"$:/language/Encryption/Cancel": {
"title": "$:/language/Encryption/Cancel",
"text": "Cancel"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Set a new password for this TiddlyWiki"
},
"$:/language/Encryption/Username": {
"title": "$:/language/Encryption/Username",
"text": "Username"
},
"$:/language/Encryption/Password": {
"title": "$:/language/Encryption/Password",
"text": "Password"
},
"$:/language/Encryption/RepeatPassword": {
"title": "$:/language/Encryption/RepeatPassword",
"text": "Repeat password"
},
"$:/language/Encryption/PasswordNoMatch": {
"title": "$:/language/Encryption/PasswordNoMatch",
"text": "Passwords do not match"
},
"$:/language/Encryption/SetPassword": {
"title": "$:/language/Encryption/SetPassword",
"text": "Set password"
},
"$:/language/Error/Caption": {
"title": "$:/language/Error/Caption",
"text": "Error"
},
"$:/language/Error/EditConflict": {
"title": "$:/language/Error/EditConflict",
"text": "File changed on server"
},
"$:/language/Error/Filter": {
"title": "$:/language/Error/Filter",
"text": "Filter error"
},
"$:/language/Error/FilterSyntax": {
"title": "$:/language/Error/FilterSyntax",
"text": "Syntax error in filter expression"
},
"$:/language/Error/FilterRunPrefix": {
"title": "$:/language/Error/FilterRunPrefix",
"text": "Filter Error: Unknown prefix for filter run"
},
"$:/language/Error/IsFilterOperator": {
"title": "$:/language/Error/IsFilterOperator",
"text": "Filter Error: Unknown operand for the 'is' filter operator"
},
"$:/language/Error/FormatFilterOperator": {
"title": "$:/language/Error/FormatFilterOperator",
"text": "Filter Error: Unknown suffix for the 'format' filter operator"
},
"$:/language/Error/LoadingPluginLibrary": {
"title": "$:/language/Error/LoadingPluginLibrary",
"text": "Error loading plugin library"
},
"$:/language/Error/NetworkErrorAlert": {
"title": "$:/language/Error/NetworkErrorAlert",
"text": "`<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`"
},
"$:/language/Error/RecursiveTransclusion": {
"title": "$:/language/Error/RecursiveTransclusion",
"text": "Recursive transclusion error in transclude widget"
},
"$:/language/Error/RetrievingSkinny": {
"title": "$:/language/Error/RetrievingSkinny",
"text": "Error retrieving skinny tiddler list"
},
"$:/language/Error/SavingToTWEdit": {
"title": "$:/language/Error/SavingToTWEdit",
"text": "Error saving to TWEdit"
},
"$:/language/Error/WhileSaving": {
"title": "$:/language/Error/WhileSaving",
"text": "Error while saving"
},
"$:/language/Error/XMLHttpRequest": {
"title": "$:/language/Error/XMLHttpRequest",
"text": "XMLHttpRequest error code"
},
"$:/language/InternalJavaScriptError/Title": {
"title": "$:/language/InternalJavaScriptError/Title",
"text": "Internal JavaScript Error"
},
"$:/language/InternalJavaScriptError/Hint": {
"title": "$:/language/InternalJavaScriptError/Hint",
"text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
},
"$:/language/LayoutSwitcher/Description": {
"title": "$:/language/LayoutSwitcher/Description",
"text": "Open the layout switcher"
},
"$:/language/LazyLoadingWarning": {
"title": "$:/language/LazyLoadingWarning",
"text": "<p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>"
},
"$:/language/LoginToTiddlySpace": {
"title": "$:/language/LoginToTiddlySpace",
"text": "Login to TiddlySpace"
},
"$:/language/Manager/Controls/FilterByTag/None": {
"title": "$:/language/Manager/Controls/FilterByTag/None",
"text": "(none)"
},
"$:/language/Manager/Controls/FilterByTag/Prompt": {
"title": "$:/language/Manager/Controls/FilterByTag/Prompt",
"text": "Filter by tag:"
},
"$:/language/Manager/Controls/Order/Prompt": {
"title": "$:/language/Manager/Controls/Order/Prompt",
"text": "Reverse order"
},
"$:/language/Manager/Controls/Search/Placeholder": {
"title": "$:/language/Manager/Controls/Search/Placeholder",
"text": "Search"
},
"$:/language/Manager/Controls/Search/Prompt": {
"title": "$:/language/Manager/Controls/Search/Prompt",
"text": "Search:"
},
"$:/language/Manager/Controls/Show/Option/Tags": {
"title": "$:/language/Manager/Controls/Show/Option/Tags",
"text": "tags"
},
"$:/language/Manager/Controls/Show/Option/Tiddlers": {
"title": "$:/language/Manager/Controls/Show/Option/Tiddlers",
"text": "tiddlers"
},
"$:/language/Manager/Controls/Show/Prompt": {
"title": "$:/language/Manager/Controls/Show/Prompt",
"text": "Show:"
},
"$:/language/Manager/Controls/Sort/Prompt": {
"title": "$:/language/Manager/Controls/Sort/Prompt",
"text": "Sort by:"
},
"$:/language/Manager/Item/Colour": {
"title": "$:/language/Manager/Item/Colour",
"text": "Colour"
},
"$:/language/Manager/Item/Fields": {
"title": "$:/language/Manager/Item/Fields",
"text": "Fields"
},
"$:/language/Manager/Item/Icon/None": {
"title": "$:/language/Manager/Item/Icon/None",
"text": "(none)"
},
"$:/language/Manager/Item/Icon": {
"title": "$:/language/Manager/Item/Icon",
"text": "Icon"
},
"$:/language/Manager/Item/RawText": {
"title": "$:/language/Manager/Item/RawText",
"text": "Raw text"
},
"$:/language/Manager/Item/Tags": {
"title": "$:/language/Manager/Item/Tags",
"text": "Tags"
},
"$:/language/Manager/Item/Tools": {
"title": "$:/language/Manager/Item/Tools",
"text": "Tools"
},
"$:/language/Manager/Item/WikifiedText": {
"title": "$:/language/Manager/Item/WikifiedText",
"text": "Wikified text"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create"
},
"$:/language/No": {
"title": "$:/language/No",
"text": "No"
},
"$:/language/OfficialPluginLibrary": {
"title": "$:/language/OfficialPluginLibrary",
"text": "Official ~TiddlyWiki Plugin Library"
},
"$:/language/OfficialPluginLibrary/Hint": {
"title": "$:/language/OfficialPluginLibrary/Hint",
"text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
},
"$:/language/PageTemplate/Description": {
"title": "$:/language/PageTemplate/Description",
"text": "the default ~TiddlyWiki layout"
},
"$:/language/PageTemplate/Name": {
"title": "$:/language/PageTemplate/Name",
"text": "Default ~PageTemplate"
},
"$:/language/PluginReloadWarning": {
"title": "$:/language/PluginReloadWarning",
"text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "DDth MMM YYYY"
},
"$:/language/Shortcuts/Input/AdvancedSearch/Hint": {
"title": "$:/language/Shortcuts/Input/AdvancedSearch/Hint",
"text": "Open the ~AdvancedSearch panel from within the sidebar search field"
},
"$:/language/Shortcuts/Input/Accept/Hint": {
"title": "$:/language/Shortcuts/Input/Accept/Hint",
"text": "Accept the selected item"
},
"$:/language/Shortcuts/Input/AcceptVariant/Hint": {
"title": "$:/language/Shortcuts/Input/AcceptVariant/Hint",
"text": "Accept the selected item (variant)"
},
"$:/language/Shortcuts/Input/Cancel/Hint": {
"title": "$:/language/Shortcuts/Input/Cancel/Hint",
"text": "Clear the input field"
},
"$:/language/Shortcuts/Input/Down/Hint": {
"title": "$:/language/Shortcuts/Input/Down/Hint",
"text": "Select the next item"
},
"$:/language/Shortcuts/Input/Tab-Left/Hint": {
"title": "$:/language/Shortcuts/Input/Tab-Left/Hint",
"text": "Select the previous Tab"
},
"$:/language/Shortcuts/Input/Tab-Right/Hint": {
"title": "$:/language/Shortcuts/Input/Tab-Right/Hint",
"text": "Select the next Tab"
},
"$:/language/Shortcuts/Input/Up/Hint": {
"title": "$:/language/Shortcuts/Input/Up/Hint",
"text": "Select the previous item"
},
"$:/language/Shortcuts/SidebarLayout/Hint": {
"title": "$:/language/Shortcuts/SidebarLayout/Hint",
"text": "Change the sidebar layout"
},
"$:/language/Switcher/Subtitle/theme": {
"title": "$:/language/Switcher/Subtitle/theme",
"text": "Switch Theme"
},
"$:/language/Switcher/Subtitle/layout": {
"title": "$:/language/Switcher/Subtitle/layout",
"text": "Switch Layout"
},
"$:/language/Switcher/Subtitle/language": {
"title": "$:/language/Switcher/Subtitle/language",
"text": "Switch Language"
},
"$:/language/Switcher/Subtitle/palette": {
"title": "$:/language/Switcher/Subtitle/palette",
"text": "Switch Palette"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "This is a system tiddler"
},
"$:/language/SystemTiddlers/Include/Prompt": {
"title": "$:/language/SystemTiddlers/Include/Prompt",
"text": "Include system tiddlers"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Colour"
},
"$:/language/TagManager/Count/Heading": {
"title": "$:/language/TagManager/Count/Heading",
"text": "Count"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Icon"
},
"$:/language/TagManager/Icons/None": {
"title": "$:/language/TagManager/Icons/None",
"text": "None"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/Tiddler/DateFormat": {
"title": "$:/language/Tiddler/DateFormat",
"text": "DDth MMM YYYY at hh12:0mmam"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "You have unsaved changes in TiddlyWiki"
},
"$:/language/Yes": {
"title": "$:/language/Yes",
"text": "Yes"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "https://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "https://tiddlywiki.com/static/SavingChanges.html",
"text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "DDth MMM YYYY"
},
"$:/config/NewJournal/Text": {
"title": "$:/config/NewJournal/Text",
"text": ""
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "Journal\n"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Saved wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Starting to save wiki"
},
"$:/language/Notifications/CopiedToClipboard/Succeeded": {
"title": "$:/language/Notifications/CopiedToClipboard/Succeeded",
"text": "Copied to clipboard!"
},
"$:/language/Notifications/CopiedToClipboard/Failed": {
"title": "$:/language/Notifications/CopiedToClipboard/Failed",
"text": "Failed to copy to clipboard!"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "List"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filter"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches/All": {
"title": "$:/language/Search/Matches/All",
"text": "All matches:"
},
"$:/language/Search/Matches/Title": {
"title": "$:/language/Search/Matches/Title",
"text": "Title matches:"
},
"$:/language/Search/Search": {
"title": "$:/language/Search/Search",
"text": "Search"
},
"$:/language/Search/Search/TooShort": {
"title": "$:/language/Search/Search/TooShort",
"text": "Search text too short"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Shadows"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Search for shadow tiddlers"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Search for standard tiddlers"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "System"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Search for system tiddlers"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "All"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Contents"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Drafts"
},
"$:/language/SideBar/Explorer/Caption": {
"title": "$:/language/SideBar/Explorer/Caption",
"text": "Explorer"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Missing"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "More"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Open"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Orphans"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Recent"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Shadows"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "System"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "untagged"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Tools"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Types"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "a non-linear personal web notebook"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "My ~TiddlyWiki"
},
"$:/language/Snippets/ListByTag": {
"title": "$:/language/Snippets/ListByTag",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "List of tiddlers by tag",
"text": "<<list-links \"[tag[task]sort[title]]\">>\n"
},
"$:/language/Snippets/MacroDefinition": {
"title": "$:/language/Snippets/MacroDefinition",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Macro definition",
"text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
},
"$:/language/Snippets/Table4x3": {
"title": "$:/language/Snippets/Table4x3",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table with 4 columns by 3 rows",
"text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
},
"$:/language/Snippets/TableOfContents": {
"title": "$:/language/Snippets/TableOfContents",
"tags": "$:/tags/TextEditor/Snippet",
"caption": "Table of Contents",
"text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
},
"$:/language/ThemeTweaks/ThemeTweaks": {
"title": "$:/language/ThemeTweaks/ThemeTweaks",
"text": "Theme Tweaks"
},
"$:/language/ThemeTweaks/ThemeTweaks/Hint": {
"title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
"text": "You can tweak certain aspects of the ''Vanilla'' theme."
},
"$:/language/ThemeTweaks/Options": {
"title": "$:/language/ThemeTweaks/Options",
"text": "Options"
},
"$:/language/ThemeTweaks/Options/SidebarLayout": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout",
"text": "Sidebar layout"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
"text": "Fixed story, fluid sidebar"
},
"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
"title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
"text": "Fluid story, fixed sidebar"
},
"$:/language/ThemeTweaks/Options/StickyTitles": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles",
"text": "Sticky titles"
},
"$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
"title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
"text": "Causes tiddler titles to \"stick\" to the top of the browser window"
},
"$:/language/ThemeTweaks/Options/CodeWrapping": {
"title": "$:/language/ThemeTweaks/Options/CodeWrapping",
"text": "Wrap long lines in code blocks"
},
"$:/language/ThemeTweaks/Settings": {
"title": "$:/language/ThemeTweaks/Settings",
"text": "Settings"
},
"$:/language/ThemeTweaks/Settings/FontFamily": {
"title": "$:/language/ThemeTweaks/Settings/FontFamily",
"text": "Font family"
},
"$:/language/ThemeTweaks/Settings/CodeFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
"text": "Code font family"
},
"$:/language/ThemeTweaks/Settings/EditorFontFamily": {
"title": "$:/language/ThemeTweaks/Settings/EditorFontFamily",
"text": "Editor font family"
},
"$:/language/ThemeTweaks/Settings/BackgroundImage": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
"text": "Page background image"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
"text": "Page background image attachment"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
"text": "Scroll with tiddlers"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
"text": "Fixed to window"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
"text": "Page background image size"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
"text": "Auto"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
"text": "Cover"
},
"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
"title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
"text": "Contain"
},
"$:/language/ThemeTweaks/Metrics": {
"title": "$:/language/ThemeTweaks/Metrics",
"text": "Sizes"
},
"$:/language/ThemeTweaks/Metrics/FontSize": {
"title": "$:/language/ThemeTweaks/Metrics/FontSize",
"text": "Font size"
},
"$:/language/ThemeTweaks/Metrics/LineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/LineHeight",
"text": "Line height"
},
"$:/language/ThemeTweaks/Metrics/BodyFontSize": {
"title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
"text": "Font size for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
"title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
"text": "Line height for tiddler body"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
"text": "Story left position"
},
"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
"text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryTop": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop",
"text": "Story top position"
},
"$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
"text": "how far the top margin of the story river<br>is from the top of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryRight": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight",
"text": "Story right"
},
"$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
"text": "how far the left margin of the sidebar <br>is from the left of the page"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
"text": "Story width"
},
"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
"text": "the overall width of the story river"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
"text": "Tiddler width"
},
"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
"text": "within the story river"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
"text": "Sidebar breakpoint"
},
"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
"text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
"text": "Sidebar width"
},
"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
"title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
"text": "the width of the sidebar in fluid-fixed layout"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Advanced"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "none"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Plugin Details"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "This plugin contains the following shadow tiddlers:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Shadow Status"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "It is overridden by an ordinary tiddler"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Fields"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "List"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "This tiddler does not have a list"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Listed"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "This tiddler is not listed by any others"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "Backlinks"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "No tiddlers link to this one"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Tagging"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "No tiddlers are tagged with this one"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Tools"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript code",
"name": "application/javascript",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON data",
"name": "application/json",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "Data dictionary",
"name": "application/x-tiddler-dictionary",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF image",
"name": "image/gif",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG image",
"name": "image/jpeg",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG image",
"name": "image/png",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "Structured Vector Graphics image",
"name": "image/svg+xml",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "ICO format icon file",
"name": "image/x-icon",
"group": "Image",
"group-sort": "1"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "Static stylesheet",
"name": "text/css",
"group": "Developer",
"group-sort": "2"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML markup",
"name": "text/html",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "Plain text",
"name": "text/plain",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki Classic",
"name": "text/x-tiddlywiki",
"group": "Text",
"group-sort": "0"
},
"$:/languages/en-GB/icon": {
"title": "$:/languages/en-GB/icon",
"type": "image/svg+xml",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
},
"$:/languages/en-GB": {
"title": "$:/languages/en-GB",
"name": "en-GB",
"description": "English (British)",
"author": "JeremyRuston",
"core-version": ">=5.0.0\"",
"text": "Stub pseudo-plugin for the default language"
},
"$:/core/modules/commander.js": {
"title": "$:/core/modules/commander.js",
"text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\t// Parse named parameters if required\n\t\t\t\tif(command.info.namedParameterMode) {\n\t\t\t\t\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\n\t\t\t\t\tif(typeof params === \"string\") {\n\t\t\t\t\t\treturn this.callback(params);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\n*/\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\n\tmandatoryParameters = mandatoryParameters || [];\n\tvar errors = [],\n\t\tparamsByName = Object.create(null);\n\t// Extract the parameters\n\t$tw.utils.each(params,function(param) {\n\t\tvar index = param.indexOf(\"=\");\n\t\tif(index < 1) {\n\t\t\terrors.push(\"malformed named parameter: '\" + param + \"'\");\n\t\t}\n\t\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\n\t});\n\t// Check the mandatory parameters are present\n\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\n\t\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\n\t\t\terrors.push(\"missing mandatory parameter: '\" + mandatoryParameter + \"'\");\n\t\t}\n\t});\n\t// Return any errors\n\tif(errors.length > 0) {\n\t\treturn errors.join(\" and\\n\");\n\t} else {\n\t\treturn paramsByName;\t\t\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/commands/build.js": {
"title": "$:/core/modules/commands/build.js",
"text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/clearpassword.js": {
"title": "$:/core/modules/commands/clearpassword.js",
"text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/deletetiddlers.js": {
"title": "$:/core/modules/commands/deletetiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/deletetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to delete tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"deletetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\twiki.deleteTiddler(title);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/editions.js": {
"title": "$:/core/modules/commands/editions.js",
"text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/fetch.js": {
"title": "$:/core/modules/commands/fetch.js",
"text": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tswitch(this.params[0]) {\n\t\tcase \"raw-file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turl: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"raw-files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = this.commander.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\n\tif(redirectCount > 10) {\n\t\treturn callback(\"Error too many redirects retrieving \" + url);\n\t}\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t \tdata = [];\n\t self.commander.write(\"Reading \" + url + \": \");\n\t response.on(\"data\",function(chunk) {\n\t data.push(chunk);\n\t self.commander.write(\".\");\n\t });\n\t response.on(\"end\",function() {\n\t self.commander.write(\"\\n\");\n\t if(response.statusCode === 200) {\n\t\t self.processBody(Buffer.concat(data),type,options,url);\n\t\t callback(null);\n\t } else {\n\t \tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\n\t \t\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\n\t \t} else {\n\t\t \treturn callback(\"Error \" + response.statusCode + \" retrieving \" + url)\t \t\t\n\t \t}\n\t }\n\t \t});\n\t \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options,url) {\n\tvar self = this;\n\t// Collect the tiddlers in a wiki\n\tvar incomingWiki = new $tw.Wiki();\n\tif(options.raw) {\n\t\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\t\tencoding = typeInfo ? typeInfo.encoding : \"utf8\";\n\t\tincomingWiki.addTiddler(new $tw.Tiddler({\n\t\t\ttitle: url,\n\t\t\ttype: type,\n\t\t\ttext: body.toString(encoding)\n\t\t}));\n\t} else {\n\t\t// Deserialise the file to extract the tiddlers\n\t\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body.toString(\"utf8\"),{});\n\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t});\n\t}\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \"[all[tiddlers]]\");\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/help.js": {
"title": "$:/core/modules/commands/help.js",
"text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/import.js": {
"title": "$:/core/modules/commands/import.js",
"text": "/*\\\ntitle: $:/core/modules/commands/import.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 2) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar filename = self.params[0],\n\t\tdeserializer = self.params[1],\n\t\ttitle = self.params[2] || filename,\n\t\tencoding = self.params[3] || \"utf8\",\n\t\ttext = fs.readFileSync(filename,encoding),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t});\n\tthis.commander.log(tiddlers.length + \" tiddler(s) imported\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/init.js": {
"title": "$:/core/modules/commands/init.js",
"text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/listen.js": {
"title": "$:/core/modules/commands/listen.js",
"text": "/*\\\ntitle: $:/core/modules/commands/listen.js\ntype: application/javascript\nmodule-type: command\n\nListen for HTTP requests and serve tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"listen\",\n\tsynchronous: true,\n\tnamedParameterMode: true,\n\tmandatoryParameters: [],\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: self.params\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/load.js": {
"title": "$:/core/modules/commands/load.js",
"text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file or directory\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count && self.params[1] !== \"noerror\") {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/makelibrary.js": {
"title": "$:/core/modules/commands/makelibrary.js",
"text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = $tw.utils.getSubdirectories(folder) || [];\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = $tw.utils.getSubdirectories(folder) || [];\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),collectPlugins);\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers})\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/output.js": {
"title": "$:/core/modules/commands/output.js",
"text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/password.js": {
"title": "$:/core/modules/commands/password.js",
"text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/render.js": {
"title": "$:/core/modules/commands/render.js",
"text": "/*\\\ntitle: $:/core/modules/commands/render.js\ntype: application/javascript\nmodule-type: command\n\nRender individual tiddlers and save the results to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"render\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing tiddler filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]addsuffix[.html]]\",\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvarName = this.params[4],\n\t\tvarValue = this.params[5],\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\tvariables = {currentTiddler: title};\n\t\tif(varName) {\n\t\t\tvariables[varName] = varValue || \"\";\n\t\t}\n\t\tvar widgetNode = wiki.makeWidget(parser,{variables: variables}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Rendering \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddler.js": {
"title": "$:/core/modules/commands/rendertiddler.js",
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddlers.js": {
"title": "$:/core/modules/commands/rendertiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/save.js": {
"title": "$:/core/modules/commands/save.js",
"text": "/*\\\ntitle: $:/core/modules/commands/save.js\ntype: application/javascript\nmodule-type: command\n\nSaves individual tiddlers in their raw text or binary format to the specified files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"save\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]]\",\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\tif(self.commander.verbose) {\n\t\t\tconsole.log(\"Saving \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t}\n\t\t$tw.utils.createFileDirectories(filepath);\n\t\tfs.writeFileSync(filepath,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savelibrarytiddlers.js": {
"title": "$:/core/modules/commands/savelibrarytiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <tiddler-filter> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe tiddler filter specifies the plugins to be included.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\tdoesRequireReload = !!self.commander.wiki.doesPluginInfoRequireReload(pluginTiddlers),\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{\n\t\t\ttext: undefined,\n\t\t\treadme: readmeContent,\n\t\t\t\"requires-reload\": doesRequireReload ? \"yes\" : \"no\",\n\t\t\ticon: iconContent\n\t\t}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddler.js": {
"title": "$:/core/modules/commands/savetiddler.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddlers.js": {
"title": "$:/core/modules/commands/savetiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savewikifolder.js": {
"title": "$:/core/modules/commands/savewikifolder.js",
"text": "/*\\\ntitle: $:/core/modules/commands/savewikifolder.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the current wiki as a wiki folder\n\n--savewikifolder <wikifolderpath> [<filter>]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savewikifolder\",\n\tsynchronous: true\n};\n\nvar fs,path;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n}\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing wiki folder path\";\n\t}\n\tvar wikifoldermaker = new WikiFolderMaker(this.params[0],this.params[1],this.commander);\n\treturn wikifoldermaker.save();\n};\n\nfunction WikiFolderMaker(wikiFolderPath,wikiFilter,commander) {\n\tthis.wikiFolderPath = wikiFolderPath;\n\tthis.wikiFilter = wikiFilter || \"[all[tiddlers]]\";\n\tthis.commander = commander;\n\tthis.wiki = commander.wiki;\n\tthis.savedPaths = []; // So that we can detect filename clashes\n}\n\nWikiFolderMaker.prototype.log = function(str) {\n\tif(this.commander.verbose) {\n\t\tconsole.log(str);\n\t}\n};\n\nWikiFolderMaker.prototype.tiddlersToIgnore = [\n\t\"$:/boot/boot.css\",\n\t\"$:/boot/boot.js\",\n\t\"$:/boot/bootprefix.js\",\n\t\"$:/core\",\n\t\"$:/library/sjcl.js\",\n\t\"$:/temp/info-plugin\"\n];\n\n/*\nReturns null if successful, or an error string if there was an error\n*/\nWikiFolderMaker.prototype.save = function() {\n\tvar self = this;\n\t// Check that the output directory doesn't exist\n\tif(fs.existsSync(this.wikiFolderPath) && !$tw.utils.isDirectoryEmpty(this.wikiFolderPath)) {\n\t\treturn \"The unpackwiki command requires that the output wiki folder be empty\";\n\t}\n\t// Get the tiddlers from the source wiki\n\tvar tiddlerTitles = this.wiki.filterTiddlers(this.wikiFilter);\n\t// Initialise a new tiddlwiki.info file\n\tvar newWikiInfo = {};\n\t// Process each incoming tiddler in turn\n\t$tw.utils.each(tiddlerTitles,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tif(self.tiddlersToIgnore.indexOf(title) !== -1) {\n\t\t\t\t// Ignore the core plugin and the ephemeral info plugin\n\t\t\t\tself.log(\"Ignoring tiddler: \" + title);\n\t\t\t} else {\n\t\t\t\tvar type = tiddler.fields.type,\n\t\t\t\t\tpluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif(type === \"application/json\" && pluginType) {\n\t\t\t\t\t// Plugin tiddler\n\t\t\t\t\tvar libraryDetails = self.findPluginInLibrary(title);\n\t\t\t\t\tif(libraryDetails) {\n\t\t\t\t\t\t// A plugin from the core library\n\t\t\t\t\t\tself.log(\"Adding built-in plugin: \" + libraryDetails.name);\n\t\t\t\t\t\tnewWikiInfo[libraryDetails.type] = newWikiInfo[libraryDetails.type] || [];\n\t\t\t\t\t\t$tw.utils.pushTop(newWikiInfo[libraryDetails.type],libraryDetails.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// A custom plugin\n\t\t\t\t\t\tself.log(\"Processing custom plugin: \" + title);\n\t\t\t\t\t\tself.saveCustomPlugin(tiddler);\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t// Ordinary tiddler\n\t\t\t\t\tself.saveTiddler(\"tiddlers\",tiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Save the tiddlywiki.info file\n\tthis.saveJSONFile(\"tiddlywiki.info\",newWikiInfo);\n\tself.log(\"Writing tiddlywiki.info: \" + JSON.stringify(newWikiInfo,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\n/*\nTest whether the specified tiddler is a plugin in the plugin library\n*/\nWikiFolderMaker.prototype.findPluginInLibrary = function(title) {\n\tvar parts = title.split(\"/\"),\n\t\tpluginPath, type, name;\n\tif(parts[0] === \"$:\") {\n\t\tif(parts[1] === \"languages\" && parts.length === 3) {\n\t\t\tpluginPath = \"languages\" + path.sep + parts[2];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2];\n\t\t} else if(parts[1] === \"plugins\" || parts[1] === \"themes\" && parts.length === 4) {\n\t\t\tpluginPath = parts[1] + path.sep + parts[2] + path.sep + parts[3];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2] + \"/\" + parts[3];\n\t\t}\n\t}\n\tif(pluginPath && type && name) {\n\t\tpluginPath = path.resolve($tw.boot.bootPath,\"..\",pluginPath);\n\t\tif(fs.existsSync(pluginPath)) {\n\t\t\treturn {\n\t\t\t\tpluginPath: pluginPath,\n\t\t\t\ttype: type,\n\t\t\t\tname: name\n\t\t\t};\n\t\t}\n\t}\n\treturn false;\n};\n\nWikiFolderMaker.prototype.saveCustomPlugin = function(pluginTiddler) {\n\tvar self = this,\n\t\tpluginTitle = pluginTiddler.fields.title,\n\t\ttitleParts = pluginTitle.split(\"/\"),\n\t\tdirectory = $tw.utils.generateTiddlerFilepath(titleParts[titleParts.length - 1],{\n\t\t\tdirectory: path.resolve(this.wikiFolderPath,pluginTiddler.fields[\"plugin-type\"] + \"s\")\n\t\t}),\n\t\tpluginInfo = pluginTiddler.getFieldStrings({exclude: [\"text\",\"type\"]});\n\tthis.saveJSONFile(directory + path.sep + \"plugin.info\",pluginInfo);\n\tself.log(\"Writing \" + directory + path.sep + \"plugin.info: \" + JSON.stringify(pluginInfo,null,$tw.config.preferences.jsonSpaces));\n\tvar pluginTiddlers = JSON.parse(pluginTiddler.fields.text).tiddlers; // A hashmap of tiddlers in the plugin\n\t$tw.utils.each(pluginTiddlers,function(tiddler) {\n\t\tself.saveTiddler(directory,new $tw.Tiddler(tiddler));\n\t});\n};\n\nWikiFolderMaker.prototype.saveTiddler = function(directory,tiddler) {\n\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: path.resolve(this.wikiFolderPath,directory),\n\t\twiki: this.wiki\n\t});\n\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n};\n\nWikiFolderMaker.prototype.saveJSONFile = function(filename,json) {\n\tthis.saveTextFile(filename,JSON.stringify(json,null,$tw.config.preferences.jsonSpaces));\n};\n\nWikiFolderMaker.prototype.saveTextFile = function(filename,data) {\n\tthis.saveFile(filename,\"utf8\",data);\n};\n\nWikiFolderMaker.prototype.saveFile = function(filename,encoding,data) {\n\tvar filepath = path.resolve(this.wikiFolderPath,filename);\n\t$tw.utils.createFileDirectories(filepath);\n\tfs.writeFileSync(filepath,data,encoding);\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/server.js": {
"title": "$:/core/modules/commands/server.js",
"text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nDeprecated legacy command for serving tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: {\n\t\t\tport: this.params[0],\n\t\t\thost: this.params[6],\n\t\t\t\"root-tiddler\": this.params[1],\n\t\t\t\"root-render-type\": this.params[2],\n\t\t\t\"root-serve-type\": this.params[3],\n\t\t\tusername: this.params[4],\n\t\t\tpassword: this.params[5],\n\t\t\t\"path-prefix\": this.params[7],\n\t\t\t\"debug-level\": this.params[8]\n\t\t}\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/setfield.js": {
"title": "$:/core/modules/commands/setfield.js",
"text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/unpackplugin.js": {
"title": "$:/core/modules/commands/unpackplugin.js",
"text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/verbose.js": {
"title": "$:/core/modules/commands/verbose.js",
"text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/version.js": {
"title": "$:/core/modules/commands/version.js",
"text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/config.js": {
"title": "$:/core/modules/config.js",
"text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
"type": "application/javascript",
"module-type": "config"
},
"$:/core/modules/deserializers.js": {
"title": "$:/core/modules/deserializers.js",
"text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming,\n\t\tresults = [];\n\ttry {\n\t\tincoming = JSON.parse(text);\n\t} catch(e) {\n\t\tincoming = [{\n\t\t\ttitle: \"JSON error: \" + e,\n\t\t\ttext: \"\"\n\t\t}]\n\t}\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "tiddlerdeserializer"
},
"$:/core/modules/editor/engines/framed.js": {
"title": "$:/core/modules/editor/engines/framed.js",
"text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\tif(this.widget.editAutoComplete) {\n\t\tthis.domNode.setAttribute(\"autocomplete\",this.widget.editAutoComplete);\n\t}\n\tif(this.widget.isDisabled === \"yes\") {\n\t\tthis.domNode.setAttribute(\"disabled\",true);\n\t}\t\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"},\n\t\t{name: \"focus\",handlerObject: this,handlerMethod: \"handleFocusEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.updateDomNodeText(text);\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nFramedEngine.prototype.updateDomNodeText = function(text) {\n\tthis.domNode.value = text;\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a focus event\n*/\nFramedEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\t$tw.popup.cancel(0);\t\n\t}\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\tif(this.widget.editInputActions) {\n\t\tthis.widget.invokeActionString(this.widget.editInputActions);\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/engines/simple.js": {
"title": "$:/core/modules/editor/engines/simple.js",
"text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\tif(this.widget.editAutoComplete) {\n\t\tthis.domNode.setAttribute(\"autocomplete\",this.widget.editAutoComplete);\n\t}\n\tif(this.widget.isDisabled === \"yes\") {\n\t\tthis.domNode.setAttribute(\"disabled\",true);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.updateDomNodeText(text);\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nSimpleEngine.prototype.updateDomNodeText = function(text) {\n\tthis.domNode.value = text;\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\tif(this.widget.editInputActions) {\n\t\tthis.widget.invokeActionString(this.widget.editInputActions);\n\t}\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\t$tw.popup.cancel(0);\n\t}\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/factory.js": {
"title": "$:/core/modules/editor/factory.js",
"text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t\tthis.editCancelPopups = this.getAttribute(\"cancelPopups\",\"\") === \"yes\";\n\t\tthis.editInputActions = this.getAttribute(\"inputActions\");\n\t\tthis.editRefreshTitle = this.getAttribute(\"refreshTitle\");\n\t\tthis.editAutoComplete = this.getAttribute(\"autocomplete\");\n\t\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag) || \"input\";\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE] || changedAttributes.disabled) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if (changedTiddlers[this.editRefreshTitle]) {\n\t\t\tthis.engine.updateDomNodeText(this.getEditInfo().value);\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/editor/operations/bitmap/clear.js": {
"title": "$:/core/modules/editor/operations/bitmap/clear.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/bitmap/resize.js": {
"title": "$:/core/modules/editor/operations/bitmap/resize.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/bitmap/rotate-left.js": {
"title": "$:/core/modules/editor/operations/bitmap/rotate-left.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to rotate the image left by 90 degrees\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"rotate-left\"] = function(event) {\n\t// Rotate the canvas left by 90 degrees\n\tthis.rotateCanvasLeft();\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "bitmapeditoroperation"
},
"$:/core/modules/editor/operations/text/excise.js": {
"title": "$:/core/modules/editor/operations/text/excise.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ? [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/make-link.js": {
"title": "$:/core/modules/editor/operations/text/make-link.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/prefix-lines.js": {
"title": "$:/core/modules/editor/operations/text/prefix-lines.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\tvar targetCount = parseInt(event.paramObject.count + \"\",10);\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,targetCount);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== targetCount) {\n\t\t\t// Apply the prefix\n\t\t\tline = prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-all.js": {
"title": "$:/core/modules/editor/operations/text/replace-all.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/replace-selection.js": {
"title": "$:/core/modules/editor/operations/text/replace-selection.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/save-selection.js": {
"title": "$:/core/modules/editor/operations/text/save-selection.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to save the current selection in a specified tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"save-selection\"] = function(event,operation) {\n\tvar tiddler = event.paramObject.tiddler,\n\t\tfield = event.paramObject.field || \"text\";\n\tif(tiddler && field) {\n\t\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-lines.js": {
"title": "$:/core/modules/editor/operations/text/wrap-lines.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/editor/operations/text/wrap-selection.js": {
"title": "$:/core/modules/editor/operations/text/wrap-selection.js",
"text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix\n\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\toperation.replacement = \"\";\n\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/core/modules/filterrunprefixes/all.js": {
"title": "$:/core/modules/filterrunprefixes/all.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/all.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nUnion of sets without de-duplication.\nEquivalent to = filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.all = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.push.apply(results, operationSubFunction(source,widget));\n\t};\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filterrunprefixes/and.js": {
"title": "$:/core/modules/filterrunprefixes/and.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/and.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nIntersection of sets.\nEquivalent to + filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.and = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\tsource = options.wiki.makeTiddlerIterator(results.toArray());\n\t\tresults.clear();\n\t\tresults.pushTop(operationSubFunction(source,widget));\n\t};\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filterrunprefixes/else.js": {
"title": "$:/core/modules/filterrunprefixes/else.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/else.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nEquivalent to ~ filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.else = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length === 0) {\n\t\t\t// Main result so far is empty\n\t\t\tresults.pushTop(operationSubFunction(source,widget));\n\t\t}\n\t};\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filterrunprefixes/except.js": {
"title": "$:/core/modules/filterrunprefixes/except.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/except.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nDifference of sets.\nEquivalent to - filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.except = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.remove(operationSubFunction(source,widget));\n\t};\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filterrunprefixes/filter.js": {
"title": "$:/core/modules/filterrunprefixes/filter.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/filter.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.filter = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar resultsToRemove = [];\n\t\t\tresults.each(function(result) {\n\t\t\t\tvar filtered = operationSubFunction(options.wiki.makeTiddlerIterator([result]),widget);\n\t\t\t\tif(filtered.length === 0) {\n\t\t\t\t\tresultsToRemove.push(result);\n\t\t\t\t}\n\t\t\t});\n\t\t\tresults.remove(resultsToRemove);\n\t\t}\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filterrunprefixes/intersection.js": {
"title": "$:/core/modules/filterrunprefixes/intersection.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/intersection.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.intersection = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length !== 0) {\n\t\t\tvar secondRunResults = operationSubFunction(source,widget);\n\t\t\tvar firstRunResults = results.toArray();\n\t\t\tresults.clear();\n\t\t\t$tw.utils.each(firstRunResults,function(title) {\n\t\t\t\tif(secondRunResults.indexOf(title) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filterrunprefixes/or.js": {
"title": "$:/core/modules/filterrunprefixes/or.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/or.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nEquivalent to a filter run with no prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.or = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.pushTop(operationSubFunction(source,widget));\n\t};\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filterrunprefixes/reduce.js": {
"title": "$:/core/modules/filterrunprefixes/reduce.js",
"text": "/*\\\ntitle: $:/core/modules/filterrunprefixes/reduce.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.reduce = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar accumulator = \"\";\n\t\t\tvar index = 0;\n\t\t\tresults.each(function(title) {\n\t\t\t\tvar list = operationSubFunction(options.wiki.makeTiddlerIterator([title]),{\n\t\t\t\t\t\tgetVariable: function(name) {\n\t\t\t\t\t\t\tswitch(name) {\n\t\t\t\t\t\t\t\tcase \"currentTiddler\":\n\t\t\t\t\t\t\t\t\treturn \"\" + title;\n\t\t\t\t\t\t\t\tcase \"accumulator\":\n\t\t\t\t\t\t\t\t\treturn \"\" + accumulator;\n\t\t\t\t\t\t\t\tcase \"index\":\n\t\t\t\t\t\t\t\t\treturn \"\" + index;\n\t\t\t\t\t\t\t\tcase \"revIndex\":\n\t\t\t\t\t\t\t\t\treturn \"\" + (results.length - 1 - index);\n\t\t\t\t\t\t\t\tcase \"length\":\n\t\t\t\t\t\t\t\t\treturn \"\" + results.length;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn widget.getVariable(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tif(list.length > 0) {\n\t\t\t\t\taccumulator = \"\" + list[0];\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t});\n\t\t\tresults.clear();\n\t\t\tresults.push(accumulator);\t\n\t\t}\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filterrunprefix"
},
"$:/core/modules/filters/addprefix.js": {
"title": "$:/core/modules/filters/addprefix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/addsuffix.js": {
"title": "$:/core/modules/filters/addsuffix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/after.js": {
"title": "$:/core/modules/filters/after.js",
"text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/all/current.js": {
"title": "$:/core/modules/filters/all/current.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/missing.js": {
"title": "$:/core/modules/filters/all/missing.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/orphans.js": {
"title": "$:/core/modules/filters/all/orphans.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/shadows.js": {
"title": "$:/core/modules/filters/all/shadows.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tags.js": {
"title": "$:/core/modules/filters/all/tags.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tiddlers.js": {
"title": "$:/core/modules/filters/all/tiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all.js": {
"title": "$:/core/modules/filters/all.js",
"text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/backlinks.js": {
"title": "$:/core/modules/filters/backlinks.js",
"text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/before.js": {
"title": "$:/core/modules/filters/before.js",
"text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/commands.js": {
"title": "$:/core/modules/filters/commands.js",
"text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/compare.js": {
"title": "$:/core/modules/filters/compare.js",
"text": "/*\\\ntitle: $:/core/modules/filters/compare.js\ntype: application/javascript\nmodule-type: filteroperator\n\nGeneral purpose comparison operator\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.compare = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = (suffixes[0] || [])[0],\n\t\tmode = (suffixes[1] || [])[0],\n\t\ttypeFn = $tw.utils.makeCompareFunction(type,{defaultType: \"number\"}),\n\t\tmodeFn = modes[mode] || modes.eq,\n\t\tinvert = operator.prefix === \"!\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tif(modeFn(typeFn(title,operator.operand)) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nvar modes = {\n\t\"eq\": function(value) {return value === 0;},\n\t\"ne\": function(value) {return value !== 0;},\n\t\"gteq\": function(value) {return value >= 0;},\n\t\"gt\": function(value) {return value > 0;},\n\t\"lteq\": function(value) {return value <= 0;},\n\t\"lt\": function(value) {return value < 0;}\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/contains.js": {
"title": "$:/core/modules/filters/contains.js",
"text": "/*\\\ntitle: $:/core/modules/filters/contains.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for finding values in array fields\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.contains = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"list\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/count.js": {
"title": "$:/core/modules/filters/count.js",
"text": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/days.js": {
"title": "$:/core/modules/filters/days.js",
"text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/duplicateslugs.js": {
"title": "$:/core/modules/filters/duplicateslugs.js",
"text": "/*\\\ntitle: $:/core/modules/filters/duplicateslugs.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter function for [duplicateslugs[]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.duplicateslugs = function(source,operator,options) {\n\tvar slugs = Object.create(null), // Hashmap by slug of title, replaced with \"true\" if the duplicate title has already been output\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tvar slug = options.wiki.slugify(title);\n\t\tif(slug in slugs) {\n\t\t\tif(slugs[slug] !== true) {\n\t\t\t\tresults.push(slugs[slug]);\n\t\t\t\tslugs[slug] = true;\n\t\t\t}\n\t\t\tresults.push(title);\n\t\t} else {\n\t\t\tslugs[slug] = title;\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/each.js": {
"title": "$:/core/modules/filters/each.js",
"text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\tvalue,values = {},\n\tfield = operator.operand || \"title\";\n\tif(operator.suffix === \"value\" && field === \"title\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(values,title)) {\n\t\t\t\tvalues[title] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else if(operator.suffix !== \"list-item\") {\n\t\tif(field === \"title\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !$tw.utils.hop(values,title)) {\n\t\t\t\t\tvalues[title] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvalue = tiddler.getFieldString(field);\n\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/eachday.js": {
"title": "$:/core/modules/filters/eachday.js",
"text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editiondescription.js": {
"title": "$:/core/modules/filters/editiondescription.js",
"text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [];\n\tif($tw.node) {\n\t\tvar editionInfo = $tw.utils.getEditionInfo();\n\t\tif(editionInfo) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/editions.js": {
"title": "$:/core/modules/filters/editions.js",
"text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [];\n\tif($tw.node) {\n\t\tvar editionInfo = $tw.utils.getEditionInfo();\n\t\tif(editionInfo) {\n\t\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\t\tresults.push(name);\n\t\t\t});\n\t\t}\n\t\tresults.sort();\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/else.js": {
"title": "$:/core/modules/filters/else.js",
"text": "/*\\\ntitle: $:/core/modules/filters/else.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing an empty input list with a constant, passing a non-empty input list straight through\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.else = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tif(results.length === 0) {\n\t\treturn [operator.operand];\n\t} else {\n\t\treturn results;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/decodeuricomponent.js": {
"title": "$:/core/modules/filters/decodeuricomponent.js",
"text": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURIComponent(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = title;\n\t\ttry {\n\t\t\tvalue = decodeURI(title);\n\t\t} catch(e) {\n\t\t}\n\t\tresults.push(value);\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title,(operator.suffix === \"rawunicode\")));\n\t});\n\treturn results;\n};\n\nexports.jsonstringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.jsonStringify(title,(operator.suffix === \"rawunicode\")));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\nexports.escapecss = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t// escape any character with a special meaning in CSS using CSS.escape()\n\t\tresults.push(CSS.escape(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/enlist.js": {
"title": "$:/core/modules/filters/enlist.js",
"text": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar allowDuplicates = false;\n\tswitch(operator.suffix) {\n\t\tcase \"raw\":\n\t\t\tallowDuplicates = true;\n\t\t\tbreak;\n\t\tcase \"dedupe\":\n\t\t\tallowDuplicates = false;\n\t\t\tbreak;\n\t}\n\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/field.js": {
"title": "$:/core/modules/filters/field.js",
"text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],indexedResults,\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.byField && operator.operand) {\n\t\t\t\tindexedResults = source.byField(fieldname,operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults\n\t\t\t\t}\n\t\t\t}\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/fields.js": {
"title": "$:/core/modules/filters/fields.js",
"text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName,\n\t\tsuffixes = (operator.suffixes || [])[0] || [],\n\t\toperand = $tw.utils.parseStringArray(operator.operand);\n\t\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(suffixes.indexOf(\"include\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? $tw.utils.pushTop(results,fieldName) : \"\";\n\t\t\t\t}\n\t\t\t} else if (suffixes.indexOf(\"exclude\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? \"\" : $tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else if\n\t\t\telse {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else\n\t\t} // if (tiddler)\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/filter.js": {
"title": "$:/core/modules/filters/filter.js",
"text": "/*\\\ntitle: $:/core/modules/filters/filter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning those input titles that pass a subfilter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.filter = function(source,operator,options) {\n\tvar filterFn = options.wiki.compileFilter(operator.operand),\n\t\tresults = [],\n\t\ttarget = operator.prefix !== \"!\";\n\tsource(function(tiddler,title) {\n\t\tvar list = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]));\n\t\tif((list.length > 0) === target) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/format/date.js": {
"title": "$:/core/modules/filters/format/date.js",
"text": "/*\\\ntitle: $:/core/modules/filters/format/date.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.date = function(source,operand,options) {\n\tvar results = [];\t\n\tsource(function(tiddler,title) {\n\t\tvar value = $tw.utils.parseDate(title);\n\t\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\t\tresults.push($tw.utils.formatDateString(value,operand || \"YYYY MM DD 0hh:0mm\"));\n\t\t}\n\t});\t\n\treturn results;\n};\n\n})();",
"type": "application/javascript",
"module-type": "formatfilteroperator"
},
"$:/core/modules/filters/format/relativedate.js": {
"title": "$:/core/modules/filters/format/relativedate.js",
"text": "/*\\\ntitle: $:/core/modules/filters/format/relativedate.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.relativedate = function(source,operand,options) {\n\tvar results = [];\t\n\tsource(function(tiddler,title) {\n\t\tvar value = $tw.utils.parseDate(title);\n\t\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\t\tresults.push($tw.utils.getRelativeDate((new Date()) - (new Date(value))).description);\n\t\t}\n\t});\t\n\treturn results;\n};\n\n})();",
"type": "application/javascript",
"module-type": "formatfilteroperator"
},
"$:/core/modules/filters/format.js": {
"title": "$:/core/modules/filters/format.js",
"text": "/*\\\ntitle: $:/core/modules/filters/format.js\ntype: application/javascript\nmodule-type: filteroperator\nFilter operator for formatting strings\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar formatFilterOperators;\n\nfunction getFormatFilterOperators() {\n\tif(!formatFilterOperators) {\n\t\tformatFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"formatfilteroperator\",formatFilterOperators);\n\t}\n\treturn formatFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.format = function(source,operator,options) {\n\t// Dispatch to the correct formatfilteroperator\n\tvar formatFilterOperators = getFormatFilterOperators();\n\tif(operator.suffix) {\n\t\tvar formatFilterOperator = formatFilterOperators[operator.suffix];\n\t\tif(formatFilterOperator) {\n\t\t\treturn formatFilterOperator(source,operator.operand,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/FormatFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all unchanged if the suffix is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/get.js": {
"title": "$:/core/modules/filters/get.js",
"text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/getindex.js": {
"title": "$:/core/modules/filters/getindex.js",
"text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/getvariable.js": {
"title": "$:/core/modules/filters/getvariable.js",
"text": "/*\\\ntitle: $:/core/modules/filters/getvariable.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getvariable = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.widget.getVariable(title) || \"\");\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/has.js": {
"title": "$:/core/modules/filters/has.js",
"text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field or index\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse if(operator.suffix === \"index\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && (tiddler.fields[operator.operand].length !== 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\t\t\t\t\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/haschanged.js": {
"title": "$:/core/modules/filters/haschanged.js",
"text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/indexes.js": {
"title": "$:/core/modules/filters/indexes.js",
"text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/insertbefore.js": {
"title": "$:/core/modules/filters/insertbefore.js",
"text": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\");\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tresults.push(operator.operand);\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/is/binary.js": {
"title": "$:/core/modules/filters/is/binary.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/binary.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[binary]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.binary = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/blank.js": {
"title": "$:/core/modules/filters/is/blank.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/blank.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[blank]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.blank = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/current.js": {
"title": "$:/core/modules/filters/is/current.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/draft.js": {
"title": "$:/core/modules/filters/is/draft.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/draft.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[draft]] analagous to [has[draft.of]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.draft = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,\"draft.of\")) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,\"draft.of\") && (tiddler.fields[\"draft.of\"].length !== 0)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\t\t\t\t\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/image.js": {
"title": "$:/core/modules/filters/is/image.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/missing.js": {
"title": "$:/core/modules/filters/is/missing.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/orphan.js": {
"title": "$:/core/modules/filters/is/orphan.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/shadow.js": {
"title": "$:/core/modules/filters/is/shadow.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/system.js": {
"title": "$:/core/modules/filters/is/system.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tag.js": {
"title": "$:/core/modules/filters/is/tag.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tiddler.js": {
"title": "$:/core/modules/filters/is/tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/variable.js": {
"title": "$:/core/modules/filters/is/variable.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is/variable.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[variable]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variable = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!(title in options.widget.variables)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title in options.widget.variables) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is.js": {
"title": "$:/core/modules/filters/is.js",
"text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/limit.js": {
"title": "$:/core/modules/filters/limit.js",
"text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/links.js": {
"title": "$:/core/modules/filters/links.js",
"text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/list.js": {
"title": "$:/core/modules/filters/list.js",
"text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listed.js": {
"title": "$:/core/modules/filters/listed.js",
"text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listops.js": {
"title": "$:/core/modules/filters/listops.js",
"text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/lookup.js": {
"title": "$:/core/modules/filters/lookup.js",
"text": "/*\\\ntitle: $:/core/modules/filters/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that looks up values via a title prefix\n\n[lookup:<field>[<prefix>]]\n\nPrepends the prefix to the selected items and returns the specified field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.lookup = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.getTiddlerText(operator.operand + title) || operator.suffix);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/match.js": {
"title": "$:/core/modules/filters/match.js",
"text": "/*\\\ntitle: $:/core/modules/filters/match.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title matches a string\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.match = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() !== (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() === (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/math.js": {
"title": "$:/core/modules/filters/math.js",
"text": "/*\\\ntitle: $:/core/modules/filters/math.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\n\n* \"\" converts to 0\n* \"12kk\" converts to 12\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.negate = makeNumericBinaryOperator(\n\tfunction(a) {return -a}\n);\n\nexports.abs = makeNumericBinaryOperator(\n\tfunction(a) {return Math.abs(a)}\n);\n\nexports.ceil = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(a)}\n);\n\nexports.floor = makeNumericBinaryOperator(\n\tfunction(a) {return Math.floor(a)}\n);\n\nexports.round = makeNumericBinaryOperator(\n\tfunction(a) {return Math.round(a)}\n);\n\nexports.trunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.trunc(a)}\n);\n\nexports.untrunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a)}\n);\n\nexports.sign = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sign(a)}\n);\n\nexports.add = makeNumericBinaryOperator(\n\tfunction(a,b) {return a + b;}\n);\n\nexports.subtract = makeNumericBinaryOperator(\n\tfunction(a,b) {return a - b;}\n);\n\nexports.multiply = makeNumericBinaryOperator(\n\tfunction(a,b) {return a * b;}\n);\n\nexports.divide = makeNumericBinaryOperator(\n\tfunction(a,b) {return a / b;}\n);\n\nexports.remainder = makeNumericBinaryOperator(\n\tfunction(a,b) {return a % b;}\n);\n\nexports.max = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.max(a,b);}\n);\n\nexports.min = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.min(a,b);}\n);\n\nexports.fixed = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.precision = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\n);\n\nexports.exponential = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.power = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.pow(a,b);}\n);\n\nexports.log = makeNumericBinaryOperator(\n\tfunction(a,b) {\n\t\tif(b) {\n\t\t\treturn Math.log(a)/Math.log(b);\n\t\t} else {\n\t\t\treturn Math.log(a);\n\t\t}\n\t}\n);\n\nexports.sum = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0 // Initial value\n);\n\nexports.product = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator * value},\n\t1 // Initial value\n);\n\nexports.maxall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.max(accumulator,value)},\n\t-Infinity // Initial value\n);\n\nexports.minall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.min(accumulator,value)},\n\tInfinity // Initial value\n);\n\nfunction makeNumericBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [],\n\t\t\tnumOperand = $tw.utils.parseNumber(operator.operand);\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.stringifyNumber(fnCalc($tw.utils.parseNumber(title),numOperand)));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeNumericReducingOperator(fnCalc,initialValue) {\n\tinitialValue = initialValue || 0;\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\treturn [$tw.utils.stringifyNumber(result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,$tw.utils.parseNumber(currentValue));\n\t\t},initialValue))];\n\t};\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/minlength.js": {
"title": "$:/core/modules/filters/minlength.js",
"text": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/modules.js": {
"title": "$:/core/modules/filters/modules.js",
"text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/moduletypes.js": {
"title": "$:/core/modules/filters/moduletypes.js",
"text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/next.js": {
"title": "$:/core/modules/filters/next.js",
"text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/plugintiddlers.js": {
"title": "$:/core/modules/filters/plugintiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/prefix.js": {
"title": "$:/core/modules/filters/prefix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/previous.js": {
"title": "$:/core/modules/filters/previous.js",
"text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/range.js": {
"title": "$:/core/modules/filters/range.js",
"text": "/*\\\ntitle: $:/core/modules/filters/range.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for generating a numeric range.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.range = function(source,operator,options) {\n\tvar results = [];\n\t// Split the operand into numbers delimited by these symbols\n\tvar parts = operator.operand.split(/[,:;]/g),\n\t\tbeg, end, inc, i, fixed = 0;\n\tfor (i=0; i<parts.length; i++) {\n\t\t// Validate real number\n\t\tif(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(parts[i])) {\n\t\t\treturn [\"range: bad number \\\"\" + parts[i] + \"\\\"\"];\n\t\t}\n\t\t// Count digits; the most precise number determines decimal places in output.\n\t\tvar frac = /\\.\\d+/.exec(parts[i]);\n\t\tif(frac) {\n\t\t\tfixed = Math.max(fixed,frac[0].length-1);\n\t\t}\n\t\tparts[i] = parseFloat(parts[i]);\n\t}\n\tswitch(parts.length) {\n\t\tcase 1:\n\t\t\tend = parts[0];\n\t\t\tif (end >= 1) {\n\t\t\t\tbeg = 1;\n\t\t\t}\n\t\t\telse if (end <= -1) {\n\t\t\t\tbeg = -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = Math.abs(parts[2]);\n\t\t\tbreak;\n\t}\n\tif(inc === 0) {\n\t\treturn [\"range: increment 0 causes infinite loop\"];\n\t}\n\t// May need to count backwards\n\tvar direction = ((end < beg) ? -1 : 1);\n\tinc *= direction;\n\t// Estimate number of resulting elements\n\tif((end - beg) / inc > 10000) {\n\t\treturn [\"range: too many steps (over 10K)\"];\n\t}\n\t// Avoid rounding error on last step\n\tend += direction * 0.5 * Math.pow(0.1,fixed);\n\tvar safety = 10010;\n\t// Enumerate the range\n\tif (end<beg) {\n\t\tfor(i=beg; i>end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor(i=beg; i<end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(safety<0) {\n\t\treturn [\"range: unexpectedly large output\"];\n\t}\n\t// Reverse?\n\tif(operator.prefix === \"!\") {\n\t\tresults.reverse();\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/reduce.js": {
"title": "$:/core/modules/filters/reduce.js",
"text": "/*\\\ntitle: $:/core/modules/filters/reduce.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator evaluates a subfilter for each item, making the running total available in the variable `accumulator`, and the current index available in the variable `index`\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.reduce = function(source,operator,options) {\n\t// Accumulate the list\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Run the filter over each item\n\tvar filterFn = options.wiki.compileFilter(operator.operand),\n\t\taccumulator = operator.operands[1] || \"\";\n\tfor(var index=0; index<results.length; index++) {\n\t\tvar title = results[index],\n\t\t\tlist = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),{\n\t\t\t\tgetVariable: function(name) {\n\t\t\t\t\tswitch(name) {\n\t\t\t\t\t\tcase \"currentTiddler\":\n\t\t\t\t\t\t\treturn \"\" + title;\n\t\t\t\t\t\tcase \"accumulator\":\n\t\t\t\t\t\t\treturn \"\" + accumulator;\n\t\t\t\t\t\tcase \"index\":\n\t\t\t\t\t\t\treturn \"\" + index;\n\t\t\t\t\t\tcase \"revIndex\":\n\t\t\t\t\t\t\treturn \"\" + (results.length - 1 - index);\n\t\t\t\t\t\tcase \"length\":\n\t\t\t\t\t\t\treturn \"\" + results.length;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn options.widget.getVariable(name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\tif(list.length > 0) {\n\t\t\taccumulator = \"\" + list[0];\n\t\t}\n\t}\n\tif(results.length > 0) {\n\t\treturn [accumulator];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/regexp.js": {
"title": "$:/core/modules/filters/regexp.js",
"text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removeprefix.js": {
"title": "$:/core/modules/filters/removeprefix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removesuffix.js": {
"title": "$:/core/modules/filters/removesuffix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title && title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sameday.js": {
"title": "$:/core/modules/filters/sameday.js",
"text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/search.js": {
"title": "$:/core/modules/filters/search.js",
"text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffixes) {\n\t\tvar hasFlag = function(flag) {\n\t\t\t\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\n\t\t\t},\n\t\t\texcludeFields = false,\n\t\t\tfieldList = operator.suffixes[0] || [],\n\t\t\tfirstField = fieldList[0] || \"\", \n\t\t\tfirstChar = firstField.charAt(0),\n\t\t\tfields;\n\t\tif(firstChar === \"-\") {\n\t\t\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\n\t\t\texcludeFields = true;\n\t\t} else if(fieldList[0] === \"*\"){\n\t\t\tfields = [];\n\t\t\texcludeFields = true;\n\t\t} else {\n\t\t\tfields = fieldList.slice(0);\n\t\t}\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: fields,\n\t\t\texcludeField: excludeFields,\n\t\t\tcaseSensitive: hasFlag(\"casesensitive\"),\n\t\t\tliteral: hasFlag(\"literal\"),\n\t\t\twhitespace: hasFlag(\"whitespace\"),\n\t\t\tanchored: hasFlag(\"anchored\"),\n\t\t\tregexp: hasFlag(\"regexp\"),\n\t\t\twords: hasFlag(\"words\")\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/shadowsource.js": {
"title": "$:/core/modules/filters/shadowsource.js",
"text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/slugify.js": {
"title": "$:/core/modules/filters/slugify.js",
"text": "/*\\\ntitle: $:/core/modules/filters/slugify.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for slugifying a tiddler title\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.slugify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.slugify(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sort.js": {
"title": "$:/core/modules/filters/sort.js",
"text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortan = function(source, operator, options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results, operator.operand || \"title\", operator.prefix === \"!\",false,false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sortsub.js": {
"title": "$:/core/modules/filters/sortsub.js",
"text": "/*\\\ntitle: $:/core/modules/filters/sortsub.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting by a subfilter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sortsub = function(source,operator,options) {\n\t// Compile the subfilter\n\tvar filterFn = options.wiki.compileFilter(operator.operand);\n\t// Collect the input titles and the corresponding sort keys\n\tvar inputTitles = [],\n\t\tsortKeys = [];\n\tsource(function(tiddler,title) {\n\t\tinputTitles.push(title);\n\t\tvar r = filterFn.call(options.wiki,function(iterator) {\n\t\t\titerator(options.wiki.getTiddler(title),title);\n\t\t},{\n\t\t\tgetVariable: function(name) {\n\t\t\t\tif(name === \"currentTiddler\") {\n\t\t\t\t\treturn title;\n\t\t\t\t} else {\n\t\t\t\t\treturn options.widget.getVariable(name);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tsortKeys.push(r[0] || \"\");\n\t});\n\t// Rather than sorting the titles array, we'll sort the indexes so that we can consult both arrays\n\tvar indexes = new Array(inputTitles.length);\n\tfor(var t=0; t<inputTitles.length; t++) {\n\t\tindexes[t] = t;\n\t}\n\t// Sort the indexes\n\tvar compareFn = $tw.utils.makeCompareFunction(operator.suffix,{defaultType: \"string\",invert: operator.prefix === \"!\"});\n\tindexes = indexes.sort(function(a,b) {\n\t\treturn compareFn(sortKeys[a],sortKeys[b]);\n\t});\n\t// Make the results array in order\n\tvar results = [];\n\t$tw.utils.each(indexes,function(index) {\n\t\tresults.push(inputTitles[index]);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/splitbefore.js": {
"title": "$:/core/modules/filters/splitbefore.js",
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/storyviews.js": {
"title": "$:/core/modules/filters/storyviews.js",
"text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/strings.js": {
"title": "$:/core/modules/filters/strings.js",
"text": "/*\\\ntitle: $:/core/modules/filters/strings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.length = makeStringBinaryOperator(\n\tfunction(a) {return [\"\" + (\"\" + a).length];}\n);\n\nexports.uppercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toUpperCase()];}\n);\n\nexports.lowercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toLowerCase()];}\n);\n\nexports.sentencecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\n);\n\nexports.titlecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\n);\n\nexports.trim = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\toperand = (operator.operand || \"\"),\n\t\tfnCalc;\n\tif(suffix === \"prefix\") {\n\t\tfnCalc = function(a,b) {return [$tw.utils.trimPrefix(a,b)];}\n\t} else if(suffix === \"suffix\") {\n\t\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix(a,b)];}\n\t} else {\n\t\tif(operand === \"\") {\n\t\t\tfnCalc = function(a) {return [$tw.utils.trim(a)];}\n\t\t} else {\n\t\t\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix($tw.utils.trimPrefix(a,b),b)];}\n\t\t}\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,fnCalc(title,operand));\n\t});\n\treturn result;\n};\n\nexports.split = makeStringBinaryOperator(\n\tfunction(a,b) {return (\"\" + a).split(b);}\n);\n\nexports[\"enlist-input\"] = makeStringBinaryOperator(\n\tfunction(a,o,s) {return $tw.utils.parseStringArray(\"\" + a,(s === \"raw\"));}\n);\n\nexports.join = makeStringReducingOperator(\n\tfunction(accumulator,value,operand) {\n\t\tif(accumulator === null) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn accumulator + operand + value;\n\t\t}\n\t},null\n);\n\nfunction makeStringBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \"\",operator.suffix || \"\"));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeStringReducingOperator(fnCalc,initialValue) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\tif(result.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue,operator.operand || \"\");\n\t\t},initialValue) || \"\"];\n\t};\n}\n\nexports.splitregexp = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\tflags = (suffix.indexOf(\"m\") !== -1 ? \"m\" : \"\") + (suffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(operator.operand || \"\",flags);\t\t\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,title.split(regExp));\n\t});\t\t\n\treturn result;\n};\n\nexports[\"search-replace\"] = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = operator.suffixes || [],\n\t\tflagSuffix = (suffixes[0] ? (suffixes[0][0] || \"\") : \"\"),\n\t\tflags = (flagSuffix.indexOf(\"g\") !== -1 ? \"g\" : \"\") + (flagSuffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tisRegExp = (suffixes[1] && suffixes[1][0] === \"regexp\") ? true : false,\n\t\tsearchTerm,\n\t\tregExp;\n\t\n\tsource(function(tiddler,title) {\n\t\tif(title && (operator.operands.length > 1)) {\n\t\t\t//Escape regexp characters if the operand is not a regular expression\n\t\t\tsearchTerm = isRegExp ? operator.operand : $tw.utils.escapeRegExp(operator.operand);\n\t\t\ttry {\n\t\t\t\tregExp = new RegExp(searchTerm,flags);\n\t\t\t} catch(ex) {\n\t\t\t\treturn [\"RegExp error: \" + ex];\n\t\t\t}\n\t\t\tresults.push(\n\t\t\t\ttitle.replace(regExp,operator.operands[1])\n\t\t\t);\n\t\t} else {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nexports.pad = function(source,operator,options) {\n\tvar results = [],\n\t\ttargetLength = operator.operand ? parseInt(operator.operand) : 0,\n\t\tfill = operator.operands[1] || \"0\";\n\n\tsource(function(tiddler,title) {\n\t\tif(title && title.length) {\n\t\t\tif(title.length >= targetLength) {\n\t\t\t\tresults.push(title);\n\t\t\t} else {\n\t\t\t\tvar padString = \"\",\n\t\t\t\t\tpadStringLength = targetLength - title.length;\n\t\t\t\twhile (padStringLength > padString.length) {\n\t\t\t\t\tpadString += fill;\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t//make sure we do not exceed the specified length\n\t\t\t\tpadString = padString.slice(0,padStringLength);\n\t\t\t\tif(operator.suffix && (operator.suffix === \"suffix\")) {\n\t\t\t\t\ttitle = title + padString;\n\t\t\t\t} else {\n\t\t\t\t\ttitle = padString + title;\n\t\t\t\t}\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/subfilter.js": {
"title": "$:/core/modules/filters/subfilter.js",
"text": "/*\\\ntitle: $:/core/modules/filters/subfilter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand evaluated as a filter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subfilter = function(source,operator,options) {\n\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/subtiddlerfields.js": {
"title": "$:/core/modules/filters/subtiddlerfields.js",
"text": "/*\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subtiddlerfields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\n\t\tif(subtiddler) {\n\t\t\tfor(var fieldName in subtiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/suffix.js": {
"title": "$:/core/modules/filters/suffix.js",
"text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tag.js": {
"title": "$:/core/modules/filters/tag.js",
"text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [],indexedResults;\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tvar tiddlers;\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddlers.indexOf(title) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tif(source.byTag) {\n\t\t\t\tindexedResults = source.byTag(operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(tiddlers.indexOf(title) !== -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t\t}\n\t\t}\t\t\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tagging.js": {
"title": "$:/core/modules/filters/tagging.js",
"text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tags.js": {
"title": "$:/core/modules/filters/tags.js",
"text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/then.js": {
"title": "$:/core/modules/filters/then.js",
"text": "/*\\\ntitle: $:/core/modules/filters/then.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing any titles with a constant\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.then = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/title.js": {
"title": "$:/core/modules/filters/title.js",
"text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/untagged.js": {
"title": "$:/core/modules/filters/untagged.js",
"text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/variables.js": {
"title": "$:/core/modules/filters/variables.js",
"text": "/*\\\ntitle: $:/core/modules/filters/variables.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the active variables\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variables = function(source,operator,options) {\n\tvar names = [];\n\tfor(var variable in options.widget.variables) {\n\t\tnames.push(variable);\n\t}\n\treturn names.sort();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/wikiparserrules.js": {
"title": "$:/core/modules/filters/wikiparserrules.js",
"text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/x-listops.js": {
"title": "$:/core/modules/filters/x-listops.js",
"text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n\t/*jslint node: true, browser: true */\n\t/*global $tw: false */\n\t\"use strict\";\n\n\t/*\n\tFetch titles from the current list\n\t*/\n\tvar prepare_results = function (source) {\n\tvar results = [];\n\t\tsource(function (tiddler, title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t};\n\n\t/*\n\tMoves a number of items from the tail of the current list before the item named in the operand\n\t*/\n\texports.putbefore = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn (index === -1) ?\n\t\t\tresults.slice(0, -1) :\n\t\t\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n\t};\n\n\t/*\n\tMoves a number of items from the tail of the current list after the item named in the operand\n\t*/\n\texports.putafter = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn (index === -1) ?\n\t\t\tresults.slice(0, -1) :\n\t\t\tresults.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n\t};\n\n\t/*\n\tReplaces the item named in the operand with a number of items from the tail of the current list\n\t*/\n\texports.replace = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn (index === -1) ?\n\t\t\tresults.slice(0, -count) :\n\t\t\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n\t};\n\n\t/*\n\tMoves a number of items from the tail of the current list to the head of the list\n\t*/\n\texports.putfirst = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn results.slice(-count).concat(results.slice(0, -count));\n\t};\n\n\t/*\n\tMoves a number of items from the head of the current list to the tail of the list\n\t*/\n\texports.putlast = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn results.slice(count).concat(results.slice(0, count));\n\t};\n\n\t/*\n\tMoves the item named in the operand a number of places forward or backward in the list\n\t*/\n\texports.move = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1),\n\t\t\tmarker = results.splice(index, 1),\n\t\t\toffset = (index + count) > 0 ? index + count : 0;\n\t\treturn results.slice(0, offset).concat(marker).concat(results.slice(offset));\n\t};\n\n\t/*\n\tReturns the items from the current list that are after the item named in the operand\n\t*/\n\texports.allafter = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand);\n\t\treturn (index === -1) ? [] :\n\t\t\t(operator.suffix) ? results.slice(index) :\n\t\t\tresults.slice(index + 1);\n\t};\n\n\t/*\n\tReturns the items from the current list that are before the item named in the operand\n\t*/\n\texports.allbefore = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand);\n\t\treturn (index === -1) ? [] :\n\t\t\t(operator.suffix) ? results.slice(0, index + 1) :\n\t\t\tresults.slice(0, index);\n\t};\n\n\t/*\n\tAppends the items listed in the operand array to the tail of the current list\n\t*/\n\texports.append = function (source, operator) {\n\t\tvar append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\t\tresults = prepare_results(source),\n\t\t\tcount = parseInt(operator.suffix) || append.length;\n\t\treturn (append.length === 0) ? results :\n\t\t\t(operator.prefix) ? results.concat(append.slice(-count)) :\n\t\t\tresults.concat(append.slice(0, count));\n\t};\n\n\t/*\n\tPrepends the items listed in the operand array to the head of the current list\n\t*/\n\texports.prepend = function (source, operator) {\n\t\tvar prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\t\tresults = prepare_results(source),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,prepend.length);\n\t\treturn (prepend.length === 0) ? results :\n\t\t\t(operator.prefix) ? prepend.slice(-count).concat(results) :\n\t\t\tprepend.slice(0, count).concat(results);\n\t};\n\n\t/*\n\tReturns all items from the current list except the items listed in the operand array\n\t*/\n\texports.remove = function (source, operator) {\n\t\tvar array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\t\tresults = prepare_results(source),\n\t\t\tcount = parseInt(operator.suffix) || array.length,\n\t\t\tp,\n\t\t\tlen,\n\t\t\tindex;\n\t\tlen = array.length - 1;\n\t\tfor (p = 0; p < count; ++p) {\n\t\t\tif (operator.prefix) {\n\t\t\t\tindex = results.indexOf(array[len - p]);\n\t\t\t} else {\n\t\t\t\tindex = results.indexOf(array[p]);\n\t\t\t}\n\t\t\tif (index !== -1) {\n\t\t\t\tresults.splice(index, 1);\n\t\t\t}\n\t\t}\n\t\treturn results;\n\t};\n\n\t/*\n\tReturns all items from the current list sorted in the order of the items in the operand array\n\t*/\n\texports.sortby = function (source, operator) {\n\t\tvar results = prepare_results(source);\n\t\tif (!results || results.length < 2) {\n\t\t\treturn results;\n\t\t}\n\t\tvar lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n\t\tresults.sort(function (a, b) {\n\t\t\treturn lookup.indexOf(a) - lookup.indexOf(b);\n\t\t});\n\t\treturn results;\n\t};\n\n\t/*\n\tRemoves all duplicate items from the current list\n\t*/\n\texports.unique = function (source, operator) {\n\t\tvar results = prepare_results(source);\n\t\tvar set = results.reduce(function (a, b) {\n\t\t\tif (a.indexOf(b) < 0) {\n\t\t\t\ta.push(b);\n\t\t\t}\n\t\t\treturn a;\n\t\t}, []);\n\t\treturn set;\n\t};\n\n\tvar cycleValueInArray = function(results,operands,stepSize) {\n\t\tvar resultsIndex,\n\t\t\tstep = stepSize || 1,\n\t\t\ti = 0,\n\t\t\topLength = operands.length,\n\t\t\tnextOperandIndex;\t\t\n\t\tfor(i; i < opLength; i++) {\n\t\t\tresultsIndex = results.indexOf(operands[i]);\n\t\t\tif(resultsIndex !== -1) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(resultsIndex !== -1) {\n\t\t\ti = i + step;\n\t\t\tnextOperandIndex = (i < opLength ? i : i - opLength);\n\t\t\tif(operands.length > 1) {\n\t\t\t\tresults.splice(resultsIndex,1,operands[nextOperandIndex]);\n\t\t\t} else {\n\t\t\t\tresults.splice(resultsIndex,1);\n\t\t\t}\n\t\t} else {\n\t\t\tresults.push(operands[0]);\n\t\t}\n\t\treturn results;\t\t\n\t}\n\n\t/*\n\tToggles an item in the current list.\n\t*/\t\n\texports.toggle = function(source,operator) {\n\t\treturn cycleValueInArray(prepare_results(source),operator.operands);\n\t}\n\n\texports.cycle = function(source,operator) {\n\t\tvar results = prepare_results(source),\n\t\t\toperands = (operator.operand.length ? $tw.utils.parseStringArray(operator.operand, \"true\") : [\"\"]),\n\t\t\tstep = $tw.utils.getInt(operator.operands[1]||\"\",1);\n\t\tif(step < 0) {\n\t\t\toperands.reverse();\n\t\t\tstep = Math.abs(step);\n\t\t}\t\n\t\treturn cycleValueInArray(results,operands,step);\n\t}\n\t\n})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters.js": {
"title": "$:/core/modules/filters.js",
"text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\t// The raw suffix for older filters\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t\t// The processed suffix for newer filters\n\t\t\toperator.suffixes = [];\n\t\t\t$tw.utils.each(operator.suffix.split(\":\"),function(subsuffix) {\n\t\t\t\toperator.suffixes.push([]);\n\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\tif(entry) {\n\t\t\t\t\t\toperator.suffixes[operator.suffixes.length - 1].push(entry); \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\t\toperator.operands = [];\n\t\tfunction parseOperand(bracketType) {\n\t\t\tvar operand = {};\n\t\t\tswitch (bracketType) {\n\t\t\t\tcase \"{\": // Curly brackets\n\t\t\t\t\toperand.indirect = true;\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"[\": // Square brackets\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"<\": // Angle brackets\n\t\t\t\t\toperand.variable = true;\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"/\": // regexp brackets\n\t\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\t\tif(rexMatch) {\n\t\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n\t// DEPRECATION WARNING\n\tconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif(nextBracketPos === -1) {\n\t\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t\t}\n\t\t\tif(!operator.regexp) {\n\t\t\t\toperand.text = filterString.substring(p,nextBracketPos);\n\t\t\t\toperator.operands.push(operand);\n\t\t\t}\n\t\t\tp = nextBracketPos + 1;\n\t\t}\n\t\t\n\t\tp = nextBracketPos + 1;\n\t\tparseOperand(bracket);\n\t\t\n\t\t// Check for multiple operands\n\t\twhile(filterString.charAt(p) === \",\") {\n\t\t\tp++;\n\t\t\tif(/^[\\[\\{<\\/]/.test(filterString.substring(p))) {\n\t\t\t\tnextBracketPos = p;\n\t\t\t\tp++;\n\t\t\t\tparseOperand(filterString.charAt(nextBracketPos));\n\t\t\t} else {\n\t\t\t\tthrow \"Missing [ in filter expression\";\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=|\\:(\\w+))?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp = p + operation.prefix.length;\n\t\t\t\tif(match[2]) {\n\t\t\t\t\toperation.namedPrefix = match[2];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(match[3]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[4] || match[5] || match[6]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operands: [{text: match[4] || match[5] || match[6]}]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.getFilterRunPrefixes = function() {\n\tif(!this.filterRunPrefixes) {\n\t\t$tw.Wiki.prototype.filterRunPrefixes = {};\n\t\t$tw.modules.applyMethods(\"filterrunprefix\",this.filterRunPrefixes);\n\t}\n\treturn this.filterRunPrefixes;\n}\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operands = [],\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$tw.utils.each(operator.operands,function(operand) {\n\t\t\t\t\tif(operand.indirect) {\n\t\t\t\t\t\toperand.value = self.getTextReference(operand.text,\"\",currTiddlerTitle);\n\t\t\t\t\t} else if(operand.variable) {\n\t\t\t\t\t\toperand.value = widget.getVariable(operand.text,{defaultValue: \"\"});\n\t\t\t\t\t} else {\n\t\t\t\t\t\toperand.value = operand.text;\n\t\t\t\t\t}\n\t\t\t\t\toperands.push(operand.value);\n\t\t\t\t});\n\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operands.length > 0 ? operands[0] : undefined,\n\t\t\t\t\t\t\toperands: operands,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tsuffixes: operator.suffixes,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\tvar filterRunPrefixes = self.getFilterRunPrefixes();\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tvar options = {wiki: self};\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn filterRunPrefixes[\"or\"](operationSubFunction, options);\n\t\t\t\tcase \"=\": // The results of the operation are pushed into the result without deduplication\n\t\t\t\t\treturn filterRunPrefixes[\"all\"](operationSubFunction, options);\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn filterRunPrefixes[\"except\"](operationSubFunction, options);\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn filterRunPrefixes[\"and\"](operationSubFunction, options);\n\t\t\t\tcase \"~\": // This operation is unioned into the result only if the main result so far is empty\n\t\t\t\t\treturn filterRunPrefixes[\"else\"](operationSubFunction, options);\n\t\t\t\tdefault: \n\t\t\t\t\tif(operation.namedPrefix && filterRunPrefixes[operation.namedPrefix]) {\n\t\t\t\t\t\treturn filterRunPrefixes[operation.namedPrefix](operationSubFunction, options);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t\tresults.clear();\n\t\t\t\t\t\t\tresults.push($tw.language.getString(\"Error/FilterRunPrefix\"));\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter: \" + filterString,function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = new $tw.utils.LinkedList();\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results.toArray();\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/indexers/backlinks-indexer.js": {
"title": "$:/core/modules/indexers/backlinks-indexer.js",
"text": "/*\\\ntitle: $:/core/modules/indexers/backlinks-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers' backlinks\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\n\nfunction BacklinksIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nBacklinksIndexer.prototype.init = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype.rebuild = function() {\n\tthis.index = null;\n}\n\nBacklinksIndexer.prototype._getLinks = function(tiddler) {\n\tvar parser = this.wiki.parseText(tiddler.fields.type, tiddler.fields.text, {});\n\tif(parser) {\n\t\treturn this.wiki.extractLinks(parser.tree);\n\t}\n\treturn [];\n}\n\nBacklinksIndexer.prototype.update = function(updateDescriptor) {\n\tif(!this.index) {\n\t\treturn;\n\t}\n\tvar newLinks = [],\n\t oldLinks = [],\n\t self = this;\n\tif(updateDescriptor.old.exists) {\n\t\toldLinks = this._getLinks(updateDescriptor.old.tiddler);\n\t}\n\tif(updateDescriptor.new.exists) {\n\t\tnewLinks = this._getLinks(updateDescriptor.new.tiddler);\n\t}\n\n\t$tw.utils.each(oldLinks,function(link) {\n\t\tif(self.index[link]) {\n\t\t\tdelete self.index[link][updateDescriptor.old.tiddler.fields.title];\n\t\t}\n\t});\n\t$tw.utils.each(newLinks,function(link) {\n\t\tif(!self.index[link]) {\n\t\t\tself.index[link] = Object.create(null);\n\t\t}\n\t\tself.index[link][updateDescriptor.new.tiddler.fields.title] = true;\n\t});\n}\n\nBacklinksIndexer.prototype.lookup = function(title) {\n\tif(!this.index) {\n\t\tthis.index = Object.create(null);\n\t\tvar self = this;\n\t\tthis.wiki.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self._getLinks(tiddler);\n\t\t\t$tw.utils.each(links, function(link) {\n\t\t\t\tif(!self.index[link]) {\n\t\t\t\t\tself.index[link] = Object.create(null);\n\t\t\t\t}\n\t\t\t\tself.index[link][title] = true;\n\t\t\t});\n\t\t});\n\t}\n\tif(this.index[title]) {\n\t\treturn Object.keys(this.index[title]);\n\t} else {\n\t\treturn [];\n\t}\n}\n\nexports.BacklinksIndexer = BacklinksIndexer;\n\n})();\n",
"type": "application/javascript",
"module-type": "indexer"
},
"$:/core/modules/indexers/field-indexer.js": {
"title": "$:/core/modules/indexers/field-indexer.js",
"text": "/*\\\ntitle: $:/core/modules/indexers/field-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\n\nfunction FieldIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nFieldIndexer.prototype.init = function() {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\n\tthis.addIndexMethods();\n}\n\n// Provided for testing\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = length;\n};\n\nFieldIndexer.prototype.addIndexMethods = function() {\n\tvar self = this;\n\tthis.wiki.each.byField = function(name,value) {\n\t\tvar titles = self.wiki.allTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachShadow.byField = function(name,value) {\n\t\tvar titles = self.wiki.allShadowTitles(),\n\t\t\tlookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn titles.indexOf(title) !== -1;\n\t\t});\n\t};\n\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n};\n\n/*\nTear down and then rebuild the index as if all tiddlers have changed\n*/\nFieldIndexer.prototype.rebuild = function() {\n\t// Invalidate the index so that it will be rebuilt when it is next used\n\tthis.index = null;\n};\n\n/*\nBuild the index for a particular field\n*/\nFieldIndexer.prototype.buildIndexForField = function(name) {\n\tvar self = this;\n\t// Hashmap by field name of hashmap by field value of array of tiddler titles\n\tthis.index = this.index || Object.create(null);\n\tthis.index[name] = Object.create(null);\n\tvar baseIndex = this.index[name];\n\t// Update the index for each tiddler\n\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\n\t\tif(name in tiddler.fields) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t// Skip any values above the maximum length\n\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\tbaseIndex[value] = baseIndex[value] || [];\n\t\t\t\tbaseIndex[value].push(title);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\n*/\nFieldIndexer.prototype.update = function(updateDescriptor) {\n\tvar self = this;\n\t// Don't do anything if the index hasn't been built yet\n\tif(this.index === null) {\n\t\treturn;\n\t}\n\t// Remove the old tiddler from the index\n\tif(updateDescriptor.old.tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor.old.tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\n\t\t\t\t\ttiddlerList = indexEntry[value];\n\t\t\t\tif(tiddlerList) {\n\t\t\t\t\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\n\t\t\t\t\tif(index !== -1) {\n\t\t\t\t\t\ttiddlerList.splice(index,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// Add the new tiddler to the index\n\tif(updateDescriptor[\"new\"].tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor[\"new\"].tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor[\"new\"].tiddler.getFieldString(name);\n\t\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\t\tindexEntry[value] = indexEntry[value] || [];\n\t\t\t\t\tindexEntry[value].push(updateDescriptor[\"new\"].tiddler.fields.title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n// Lookup the given field returning a list of tiddler titles\nFieldIndexer.prototype.lookup = function(name,value) {\n\t// Fail the lookup if the value is too long\n\tif(value.length >= this.maxIndexedValueLength) {\n\t\treturn null;\n\t}\n\t// Update the index if it has yet to be built\n\tif(this.index === null || !this.index[name]) {\n\t\tthis.buildIndexForField(name);\n\t}\n\treturn this.index[name][value] || [];\n};\n\nexports.FieldIndexer = FieldIndexer;\n\n})();\n",
"type": "application/javascript",
"module-type": "indexer"
},
"$:/core/modules/indexers/tag-indexer.js": {
"title": "$:/core/modules/indexers/tag-indexer.js",
"text": "/*\\\ntitle: $:/core/modules/indexers/tag-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nfunction TagIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nTagIndexer.prototype.init = function() {\n\tthis.subIndexers = [\n\t\tnew TagSubIndexer(this,\"each\"),\n\t\tnew TagSubIndexer(this,\"eachShadow\"),\n\t\tnew TagSubIndexer(this,\"eachTiddlerPlusShadows\"),\n\t\tnew TagSubIndexer(this,\"eachShadowPlusTiddlers\")\n\t];\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.addIndexMethod();\n\t});\n};\n\nTagIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nTagIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\n\nfunction TagSubIndexer(indexer,iteratorMethod) {\n\tthis.indexer = indexer;\n\tthis.iteratorMethod = iteratorMethod;\n\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\n}\n\nTagSubIndexer.prototype.addIndexMethod = function() {\n\tvar self = this;\n\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\n\t\treturn self.lookup(tag).slice(0);\n\t};\n};\n\nTagSubIndexer.prototype.rebuild = function() {\n\tvar self = this;\n\t// Hashmap by tag of array of {isSorted:, titles:[]}\n\tthis.index = Object.create(null);\n\t// Add all the tags\n\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\tif(!self.index[tag]) {\n\t\t\t\tself.index[tag] = {isSorted: false, titles: [title]};\n\t\t\t} else {\n\t\t\t\tself.index[tag].titles.push(title);\n\t\t\t}\n\t\t});\t\t\n\t});\n};\n\nTagSubIndexer.prototype.update = function(updateDescriptor) {\n\tthis.index = null;\n};\n\nTagSubIndexer.prototype.lookup = function(tag) {\n\t// Update the index if it has yet to be built\n\tif(this.index === null) {\n\t\tthis.rebuild();\n\t}\n\tvar indexRecord = this.index[tag];\n\tif(indexRecord) {\n\t\tif(!indexRecord.isSorted) {\n\t\t\tif(this.indexer.wiki.sortByList) {\n\t\t\t\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\n\t\t\t}\t\t\t\n\t\t\tindexRecord.isSorted = true;\n\t\t}\n\t\treturn indexRecord.titles;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n\nexports.TagIndexer = TagIndexer;\n\n})();\n",
"type": "application/javascript",
"module-type": "indexer"
},
"$:/core/modules/info/platform.js": {
"title": "$:/core/modules/info/platform.js",
"text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function(updateInfoTiddlersCallback) {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\tinfoTiddlerFields.push({title: \"$:/info/startup-timestamp\", text: $tw.utils.stringifyDate(new Date())});\n\tif($tw.browser) {\n\t\t// Document location\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\t\t\t\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t\t// Screen size\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/width\", text: window.screen.width.toString()});\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/height\", text: window.screen.height.toString()});\n \t\t// Dark mode through event listener on MediaQueryList\n \t\tvar mqList = window.matchMedia(\"(prefers-color-scheme: dark)\"),\n \t\t\tgetDarkModeTiddler = function() {return {title: \"$:/info/darkmode\", text: mqList.matches ? \"yes\" : \"no\"};};\n \t\tinfoTiddlerFields.push(getDarkModeTiddler());\n \t\tmqList.addListener(function(event) {\n \t\t\tupdateInfoTiddlersCallback([getDarkModeTiddler()]);\n \t\t});\n\t\t// Language\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/language\", text: navigator.language || \"\"});\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "info"
},
"$:/core/modules/keyboard.js": {
"title": "$:/core/modules/keyboard.js",
"text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\n\tthis.shortcutActionList = [], // Stores the corresponding action strings\n\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\n\tthis.lookupNames = [\"shortcuts\"];\n\tthis.lookupNames.push($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\")\n\tthis.lookupNames.push($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\tthis.lookupNames.push($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\tthis.updateShortcutLists(this.getShortcutTiddlerList());\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.handleShortcutChanges(changes);\n\t});\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\n\t\t\t\t\tlookupName(platformDescriptor);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.getEventModifierKeyDescriptor = function(event) {\n\treturn event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey ? \"ctrl\" : \n\t\tevent.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey ? \"shift\" : \n\t\tevent.ctrlKey && event.shiftKey && !event.altKey && !event.metaKey ? \"ctrl-shift\" : \n\t\tevent.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey ? \"alt\" : \n\t\tevent.altKey && event.shiftKey && !event.ctrlKey && !event.metaKey ? \"alt-shift\" : \n\t\tevent.altKey && event.ctrlKey && !event.shiftKey && !event.metaKey ? \"ctrl-alt\" : \n\t\tevent.altKey && event.shiftKey && event.ctrlKey && !event.metaKey ? \"ctrl-alt-shift\" : \n\t\tevent.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey ? \"meta\" : \n\t\tevent.metaKey && event.ctrlKey && !event.shiftKey && !event.altKey ? \"meta-ctrl\" :\n\t\tevent.metaKey && event.ctrlKey && event.shiftKey && !event.altKey ? \"meta-ctrl-shift\" :\n\t\tevent.metaKey && event.ctrlKey & event.shiftKey && event.altKey ? \"meta-ctrl-alt-shift\" : \"normal\";\n};\n\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\n\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n};\n\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\n\tthis.shortcutTiddlers = tiddlerList;\n\tfor(var i=0; i<tiddlerList.length; i++) {\n\t\tvar title = tiddlerList[i],\n\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t}\n};\n\nKeyboardManager.prototype.handleKeydownEvent = function(event) {\n\tvar key, action;\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\n\t\t\tkey = this.shortcutParsedList[i];\n\t\t\taction = this.shortcutActionList[i];\n\t\t}\n\t}\n\tif(key !== undefined) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\n\tvar shortcutConfigTiddlers = [],\n\t\thandled = false;\n\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\n\t\tvar descriptorString = \"$:/config/\" + platformDescriptor + \"/\";\n\t\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\n\t\t\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\"/\") + 1);\n\t\t\tif(configString === descriptorString) {\n\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t});\n\t});\n\tif(handled) {\n\t\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\n\t} else {\n\t\treturn false;\n\t}\n};\n\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\n\tvar newList = this.getShortcutTiddlerList();\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t(this.detectNewShortcuts(changedTiddlers))\n\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t\tthis.updateShortcutLists(newList);\n\t}\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/language.js": {
"title": "$:/core/modules/language.js",
"text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/macros/changecount.js": {
"title": "$:/core/modules/macros/changecount.js",
"text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/contrastcolour.js": {
"title": "$:/core/modules/macros/contrastcolour.js",
"text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/csvtiddlers.js": {
"title": "$:/core/modules/macros/csvtiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/displayshortcuts.js": {
"title": "$:/core/modules/macros/displayshortcuts.js",
"text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddler.js": {
"title": "$:/core/modules/macros/jsontiddler.js",
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddlers.js": {
"title": "$:/core/modules/macros/jsontiddlers.js",
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"spaces\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,spaces) {\n\treturn this.wiki.getTiddlersAsJson(filter,$tw.utils.parseInt(spaces));\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/makedatauri.js": {
"title": "$:/core/modules/macros/makedatauri.js",
"text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"},\n\t{name: \"_canonical_uri\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type,_canonical_uri) {\n\treturn $tw.utils.makeDataUri(text,type,_canonical_uri);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/now.js": {
"title": "$:/core/modules/macros/now.js",
"text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/qualify.js": {
"title": "$:/core/modules/macros/qualify.js",
"text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/resolvepath.js": {
"title": "$:/core/modules/macros/resolvepath.js",
"text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/unusedtitle.js": {
"title": "$:/core/modules/macros/unusedtitle.js",
"text": "/*\\\ntitle: $:/core/modules/macros/unusedtitle.js\ntype: application/javascript\nmodule-type: macro\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"unusedtitle\";\n\nexports.params = [\n\t{name: \"baseName\"},\n\t{name: \"options\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(baseName, options) {\n\tif(!baseName) {\n\t\tbaseName = $tw.language.getString(\"DefaultNewTiddlerTitle\");\n\t}\n\treturn this.wiki.generateNewTitle(baseName, options);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/version.js": {
"title": "$:/core/modules/macros/version.js",
"text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/parsers/audioparser.js": {
"title": "$:/core/modules/parsers/audioparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/binaryparser.js": {
"title": "$:/core/modules/parsers/binaryparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/binaryparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe binary parser parses a binary tiddler into a warning message and download link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar BinaryParser = function(type,text,options) {\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on binary tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!title\"}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to external or internal data URI\n\tif(options._canonical_uri) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: options._canonical_uri\n\t\t};\n\t} else if(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/octet-stream\"] = BinaryParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/csvparser.js": {
"title": "$:/core/modules/parsers/csvparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/htmlparser.js": {
"title": "$:/core/modules/parsers/htmlparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/imageparser.js": {
"title": "$:/core/modules/parsers/imageparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/webp\"] = ImageParser;\nexports[\"image/heic\"] = ImageParser;\nexports[\"image/heif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/utils/parseutils.js": {
"title": "$:/core/modules/utils/parseutils.js",
"text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{(.+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/parsers/pdfparser.js": {
"title": "$:/core/modules/parsers/pdfparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"embed\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/textparser.js": {
"title": "$:/core/modules/parsers/textparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/videoparser.js": {
"title": "$:/core/modules/parsers/videoparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/ogg\"] = VideoParser;\nexports[\"video/webm\"] = VideoParser;\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/dash.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/entity.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/extlink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/heading.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/html.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/html.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.slice(1).indexOf(\"$\") !== -1) {\n\t\treturn null;\n\t}\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/image.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/image.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/import.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/import.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for importing variable definitions\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"import\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\import[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the filter terminated by a line break\n\tvar reMatch = /(.*)(\\r?\\n)|$/mg;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\tthis.parser.pos = reMatch.lastIndex;\n\t// Parse tree nodes to return\n\treturn [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: match[1]}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/list.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/list.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"div\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params,\n\t\tisMacroDefinition: true\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/rules.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/syslink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/table.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/table.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/whitespace.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/whitespace.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for whitespace specifications\n\n```\n\\whitespace trim\n\\whitespace notrim\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"whitespace\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\whitespace[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\t$tw.utils.each(tokens,function(token) {\n\t\tswitch(token) {\n\t\t\tcase \"trim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = true;\n\t\t\t\tbreak;\n\t\t\tcase \"notrim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = false;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/wikiparser.js": {
"title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Flag for ignoring whitespace\n\tthis.configTrimWhiteSpace = false;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex));\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index));\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex));\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos));\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\n*/\nWikiParser.prototype.pushTextWidget = function(array,text) {\n\tif(this.configTrimWhiteSpace) {\n\t\ttext = $tw.utils.trim(text);\n\t}\n\tif(text) {\n\t\tarray.push({type: \"text\", text: text});\t\t\n\t}\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar target;\n\tif(type === \"only\") {\n\t\ttarget = true;\n\t} else if(type === \"except\") {\n\t\ttarget = false;\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif((names.indexOf(ruleArray[t].rule.name) === -1) === target) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
"title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/pluginswitcher.js": {
"title": "$:/core/modules/pluginswitcher.js",
"text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Read the plugin info for the incoming plugins\n\tvar changes = $tw.wiki.readPluginInfo(plugins);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/saver-handler.js": {
"title": "$:/core/modules/saver-handler.js",
"text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.preloadDirty = options.preloadDirty || [];\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(self.preloadDirty,function(title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t});\n\t\tthis.numChanges = filteredChanges.length;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\";\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && ($tw.config.disableAutoSave || this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\")) {\n\t\treturn false;\n\t}\n\tvar\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tvar self = this;\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t\t$tw.utils.each($tw.windows,function(win) {\n\t\t\t$tw.utils.toggleClass(win.document.body,\"tc-dirty\",self.isDirty());\n\t\t});\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/savers/andtidwiki.js": {
"title": "$:/core/modules/savers/andtidwiki.js",
"text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback,options) {\n\tvar filename = options && options.variables ? options.variables.filename : null;\n\tif (method === \"download\") {\n\t\t// Support download\n\t\tif (window.twi.saveDownload) {\n\t\t\ttry {\n\t\t\t\twindow.twi.saveDownload(text,filename);\n\t\t\t} catch(err) {\n\t\t\t\tif (err.message === \"Method not found\") {\n\t\t\t\t\twindow.twi.saveDownload(text);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tvar link = document.createElement(\"a\");\n\t\t\tlink.setAttribute(\"href\",\"data:text/plain,\" + encodeURIComponent(text));\n\t\t\tif (filename) {\n\t\t\t link.setAttribute(\"download\",filename);\n\t\t\t}\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t}\n\t} else if (window.twi.saveWiki) {\n\t\t// Direct save in Tiddloid\n\t\twindow.twi.saveWiki(text);\n\t} else {\n\t\t// Get the pathname of this document\n\t\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t\t// Strip the file://\n\t\tif(pathname.indexOf(\"file://\") === 0) {\n\t\t\tpathname = pathname.substr(7);\n\t\t}\n\t\t// Strip any query or location part\n\t\tvar p = pathname.indexOf(\"?\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\tp = pathname.indexOf(\"#\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\t// Save the file\n\t\twindow.twi.saveFile(pathname,text);\n\t}\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/beaker.js": {
"title": "$:/core/modules/savers/beaker.js",
"text": "/*\\\ntitle: $:/core/modules/savers/beaker.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Beaker browser's (https://beakerbrowser.com) Dat protocol (https://datproject.org/)\nCompatible with beaker >= V0.7.2\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar BeakerSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nBeakerSaver.prototype.save = function(text,method,callback) {\n\tvar dat = new DatArchive(\"\" + window.location),\n\t\tpathname = (\"\" + window.location.pathname).split(\"#\")[0];\n\tdat.stat(pathname).then(function(value) {\n\t\tif(value.isDirectory()) {\n\t\t\tpathname = pathname + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(pathname,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Beaker Saver Write Error: \" + reason);\n\t\t});\n\t},function(reason) {\n\t\tcallback(\"Beaker Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nBeakerSaver.prototype.info = {\n\tname: \"beaker\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.DatArchive && location.protocol===\"dat:\";\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new BeakerSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/custom.js": {
"title": "$:/core/modules/savers/custom.js",
"text": "/*\\\ntitle: $:/core/modules/savers/custom.js\ntype: application/javascript\nmodule-type: saver\n\nLooks for `window.$tw.customSaver` first on the current window, then\non the parent window (of an iframe). If present, the saver must define\n\tsave: function(text,method,callback) { ... }\nand the saver may define\n\tpriority: number\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar findSaver = function(window) {\n\ttry {\n\t\treturn window && window.$tw && window.$tw.customSaver;\n\t} catch (err) {\n\t\t// Catching the exception is the most reliable way to detect cross-origin iframe errors.\n\t\t// For example, instead of saying that `window.parent.$tw` is undefined, Firefox will throw\n\t\t// Uncaught DOMException: Permission denied to access property \"$tw\" on cross-origin object\n\t\tconsole.log({ msg: \"custom saver is disabled\", reason: err });\n\t\treturn null;\n\t}\n}\nvar saver = findSaver(window) || findSaver(window.parent) || {};\n\nvar CustomSaver = function(wiki) {\n};\n\nCustomSaver.prototype.save = function(text,method,callback) {\n\treturn saver.save(text, method, callback);\n};\n\n/*\nInformation about this saver\n*/\nCustomSaver.prototype.info = {\n\tname: \"custom\",\n\tpriority: saver.priority || 4000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!(saver.save);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new CustomSaver(wiki);\n};\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/download.js": {
"title": "$:/core/modules/savers/download.js",
"text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\t// We decode the pathname because document.location is URL encoded by the browser\n\t\t\tfilename = decodeURIComponent(document.location.pathname.substr(p+1));\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/fsosaver.js": {
"title": "$:/core/modules/savers/fsosaver.js",
"text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/gitea.js": {
"title": "$:/core/modules/savers/gitea.js",
"text": "/*\\\ntitle: $:/core/modules/savers/gitea.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the gitea\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GiteaSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGiteaSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/Gitea/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"Gitea\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/Gitea/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/Gitea/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/Gitea/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/Gitea/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/Gitea/ServerURL\") || \"https://gitea\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"token \" + password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar use_put = true;\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(sha === \"\"){\n\t\t\t\t\tuse_put = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: endpoint + \"/repos/\" + repo + \"/branches/\" + branch,\n\t\t\t\ttype: \"GET\",\n\t\t\t\theaders: headers,\n\t\t\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\t\t\tif(xhr.status === 404) {\n\t\t\t\t\t\tcallback(\"Please ensure the branch in the Gitea repo exists\");\n\t\t\t\t\t}else{\n\t\t\t\t\t\tdata[\"branch\"] = branch;\n\t\t\t\t\t\tself.upload(uri + filename, use_put?\"PUT\":\"POST\", headers, data, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\nGiteaSaver.prototype.upload = function(uri,method,headers,data,callback) {\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: method,\n\t\theaders: headers,\n\t\tdata: JSON.stringify(data),\n\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\tcallback(null);\n\t\t}\n\t});\n};\n\n/*\nInformation about this saver\n*/\nGiteaSaver.prototype.info = {\n\tname: \"Gitea\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GiteaSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/github.js": {
"title": "$:/core/modules/savers/github.js",
"text": "/*\\\ntitle: $:/core/modules/savers/github.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitHub v3 REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitHubSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitHubSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"github\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitHub/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitHub/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitHub/Branch\") || \"main\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitHub/ServerURL\") || \"https://api.github.com\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/vnd.github.v3+json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + window.btoa(username + \":\" + password),\n\t\t\t\"If-None-Match\": \"\"\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a PUT request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + filename,\n\t\t\t\ttype: \"PUT\",\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitHubSaver.prototype.info = {\n\tname: \"github\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitHubSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/gitlab.js": {
"title": "$:/core/modules/savers/gitlab.js",
"text": "/*\\\ntitle: $:/core/modules/savers/gitlab.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitLab REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: true */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitLabSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitLabSaver.prototype.save = function(text,method,callback) {\n\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitLab/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"gitlab\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitLab/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitLab/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitLab/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitLab/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitLab/ServerURL\") || \"https://gitlab.com/api/v4\",\n\t\theaders = {\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Private-Token\": password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/projects/\" + encodeURIComponent(repo) + \"/repository/\";\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri + \"tree/?path=\" + encodeURIComponent(path.replace(/^\\/+|\\/$/g, '')) + \"&branch=\" + encodeURIComponent(branch.replace(/^\\/+|\\/$/g, '')),\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar requestType = \"POST\";\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = JSON.parse(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\trequestType = \"PUT\";\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tcommit_message: $tw.language.getRawString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: text,\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + \"files/\" + encodeURIComponent(path.replace(/^\\/+/, '') + filename),\n\t\t\t\ttype: requestType,\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = JSON.parse(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitLabSaver.prototype.info = {\n\tname: \"gitlab\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitLabSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/hyperdrive.js": {
"title": "$:/core/modules/savers/hyperdrive.js",
"text": "/*\\\ntitle: $:/core/modules/savers/hyperdrive.js\ntype: application/javascript\nmodule-type: saver\n\nSaves files using the Hyperdrive Protocol (https://hypercore-protocol.org/#hyperdrive) Beaker browser beta-1.0 and later (https://beakerbrowser.com)\nCompatible with beaker >= V1.0.0\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet up the saver\n*/\nvar HyperdriveSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nHyperdriveSaver.prototype.save = function(text,method,callback) {\n\tvar dat = beaker.hyperdrive.drive(\"\" + window.location),\n\t\tpathname = (\"\" + window.location.pathname).split(\"#\")[0];\n\tdat.stat(pathname).then(function(value) {\n\t\tif(value.isDirectory()) {\n\t\t\tpathname = pathname + \"/index.html\";\n\t\t}\n\t\tdat.writeFile(pathname,text,\"utf8\").then(function(value) {\n\t\t\tcallback(null);\n\t\t},function(reason) {\n\t\t\tcallback(\"Hyperdrive Saver Write Error: \" + reason);\n\t\t});\n\t},function(reason) {\n\t\tcallback(\"Hyperdrive Saver Stat Error: \" + reason);\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nHyperdriveSaver.prototype.info = {\n\tname: \"beaker-1.x\",\n\tpriority: 3000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.beaker && !!beaker.hyperdrive && location.protocol===\"hyper:\";\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new HyperdriveSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/manualdownload.js": {
"title": "$:/core/modules/savers/manualdownload.js",
"text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/msdownload.js": {
"title": "$:/core/modules/savers/msdownload.js",
"text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/put.js": {
"title": "$:/core/modules/savers/put.js",
"text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRetrieve ETag if available\n*/\nvar retrieveETag = function(self) {\n\tvar headers = {\n\t\tAccept: \"*/*;charset=UTF-8\"\n\t};\n\t$tw.utils.httpRequest({\n\t\turl: self.uri(),\n\t\ttype: \"HEAD\",\n\t\theaders: headers,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar etag = xhr.getResponseHeader(\"ETag\");\n\t\t\tif(!etag) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.etag = etag.replace(/^W\\//,\"\");\n\t\t}\n\t});\n};\n\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err,data,xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\tretrieveETag(this);\n};\n\nPutSaver.prototype.uri = function() {\n\treturn document.location.toString().split(\"#\")[0];\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text,method,callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = {\n\t\t\"Content-Type\": \"text/html;charset=UTF-8\"\n\t};\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\t// response is textual: \"XMLHttpRequest error code: 412\"\n\t\t\t\tvar status = Number(err.substring(err.indexOf(':') + 2, err.length))\n\t\t\t\tif(status === 412) { // edit conflict\n\t\t\t\t\tvar message = $tw.language.getString(\"Error/EditConflict\");\n\t\t\t\t\tcallback(message);\n\t\t\t\t} else {\n\t\t\t\t\tcallback(err); // fail\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tif(self.etag == null) {\n\t\t\t\t\tretrieveETag(self);\n\t\t\t\t}\n\t\t\t\tcallback(null); // success\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyfox.js": {
"title": "$:/core/modules/savers/tiddlyfox.js",
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyie.js": {
"title": "$:/core/modules/savers/tiddlyie.js",
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/twedit.js": {
"title": "$:/core/modules/savers/twedit.js",
"text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/upload.js": {
"title": "$:/core/modules/savers/upload.js",
"text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/server/authenticators/basic.js": {
"title": "$:/core/modules/server/authenticators/basic.js",
"text": "/*\\\ntitle: $:/core/modules/server/authenticators/basic.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for WWW basic authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\");\n}\n\nfunction BasicAuthenticator(server) {\n\tthis.server = server;\n\tthis.credentialsData = [];\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nBasicAuthenticator.prototype.init = function() {\n\t// Read the credentials data\n\tthis.credentialsFilepath = this.server.get(\"credentials\");\n\tif(this.credentialsFilepath) {\n\t\tvar resolveCredentialsFilepath = path.resolve(this.server.boot.wikiPath,this.credentialsFilepath);\n\t\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\n\t\t\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\"utf8\"),\n\t\t\t\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\n\t\t\tif(typeof credentialsData === \"string\") {\n\t\t\t\treturn \"Error: \" + credentialsData + \" reading credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t\t} else {\n\t\t\t\tthis.credentialsData = credentialsData;\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"Error: Unable to load user credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t}\n\t}\n\t// Add the hardcoded username and password if specified\n\tif(this.server.get(\"username\") && this.server.get(\"password\")) {\n\t\tthis.credentialsData = this.credentialsData || [];\n\t\tthis.credentialsData.push({\n\t\t\tusername: this.server.get(\"username\"),\n\t\t\tpassword: this.server.get(\"password\")\n\t\t});\n\t}\n\treturn this.credentialsData.length > 0;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Extract the incoming username and password from the request\n\tvar header = request.headers.authorization || \"\";\n\tif(!header && state.allowAnon) {\n\t\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\n\t\treturn true;\n\t}\n\tvar token = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tincomingUsername = parts[0],\n\t\tincomingPassword = parts[1];\n\t// Check that at least one of the credentials matches\n\tvar matchingCredentials = this.credentialsData.find(function(credential) {\n\t\treturn credential.username === incomingUsername && credential.password === incomingPassword;\n\t});\n\tif(matchingCredentials) {\n\t\t// If so, add the authenticated username to the request state\n\t\tstate.authenticatedUsername = incomingUsername;\n\t\treturn true;\n\t} else {\n\t\t// If not, return an authentication challenge\n\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t\treturn false;\n\t}\n};\n\nexports.AuthenticatorClass = BasicAuthenticator;\n\n})();\n",
"type": "application/javascript",
"module-type": "authenticator"
},
"$:/core/modules/server/authenticators/header.js": {
"title": "$:/core/modules/server/authenticators/header.js",
"text": "/*\\\ntitle: $:/core/modules/server/authenticators/header.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for trusted header authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction HeaderAuthenticator(server) {\n\tthis.server = server;\n\tthis.header = server.get(\"authenticated-user-header\") ? server.get(\"authenticated-user-header\").toLowerCase() : undefined;\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nHeaderAuthenticator.prototype.init = function() {\n\treturn !!this.header;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Otherwise, authenticate as the username in the specified header\n\tvar username = request.headers[this.header];\n\tif(!username && !state.allowAnon) {\n\t\tresponse.writeHead(401,\"Authorization header required to login to '\" + state.server.servername + \"'\");\n\t\tresponse.end();\n\t\treturn false;\n\t} else {\n\t\t// authenticatedUsername will be undefined for anonymous users\n\t\tstate.authenticatedUsername = username;\n\t\treturn true;\n\t}\n};\n\nexports.AuthenticatorClass = HeaderAuthenticator;\n\n})();\n",
"type": "application/javascript",
"module-type": "authenticator"
},
"$:/core/modules/server/routes/delete-tiddler.js": {
"title": "$:/core/modules/server/routes/delete-tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nDELETE /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"DELETE\";\n\nexports.path = /^\\/bags\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]);\n\tstate.wiki.deleteTiddler(title);\n\tresponse.writeHead(204, \"OK\", {\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-favicon.js": {
"title": "$:/core/modules/server/routes/get-favicon.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-favicon.js\ntype: application/javascript\nmodule-type: route\n\nGET /favicon.ico\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/favicon.ico$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\tresponse.end(buffer,\"base64\");\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-file.js": {
"title": "$:/core/modules/server/routes/get-file.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-file.js\ntype: application/javascript\nmodule-type: route\n\nGET /files/:filepath\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/files\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar path = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\tutil = require(\"util\"),\n\t\tsuppliedFilename = decodeURIComponent(state.params[0]),\n\t\tfilename = path.resolve(state.boot.wikiPath,\"files\",suppliedFilename),\n\t\textension = path.extname(filename);\n\tfs.readFile(filename,function(err,content) {\n\t\tvar status,content,type = \"text/plain\";\n\t\tif(err) {\n\t\t\tconsole.log(\"Error accessing file \" + filename + \": \" + err.toString());\n\t\t\tstatus = 404;\n\t\t\tcontent = \"File '\" + suppliedFilename + \"' not found\";\n\t\t} else {\n\t\t\tstatus = 200;\n\t\t\tcontent = content;\n\t\t\ttype = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \"application/octet-stream\");\n\t\t}\n\t\tresponse.writeHead(status,{\n\t\t\t\"Content-Type\": type\n\t\t});\n\t\tresponse.end(content);\n\t});\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-index.js": {
"title": "$:/core/modules/server/routes/get-index.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-index.js\ntype: application/javascript\nmodule-type: route\n\nGET /\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar zlib = require(\"zlib\");\n\nexports.method = \"GET\";\n\nexports.path = /^\\/$/;\n\nexports.handler = function(request,response,state) {\n\tvar acceptEncoding = request.headers[\"accept-encoding\"];\n\tif(!acceptEncoding) {\n\t\tacceptEncoding = \"\";\n\t}\n\tvar text = state.wiki.renderTiddler(state.server.get(\"root-render-type\"),state.server.get(\"root-tiddler\")),\n\t\tresponseHeaders = {\n\t\t\"Content-Type\": state.server.get(\"root-serve-type\")\n\t};\n\t/*\n\tIf the gzip=yes flag for `listen` is set, check if the user agent permits\n\tcompression. If so, compress our response. Note that we use the synchronous\n\tfunctions from zlib to stay in the imperative style. The current `Server`\n\tdoesn't depend on this, and we may just as well use the async versions.\n\t*/\n\tif(state.server.enableGzip) {\n\t\tif (/\\bdeflate\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"deflate\";\n\t\t\ttext = zlib.deflateSync(text);\n\t\t} else if (/\\bgzip\\b/.test(acceptEncoding)) {\n\t\t\tresponseHeaders[\"Content-Encoding\"] = \"gzip\";\n\t\t\ttext = zlib.gzipSync(text);\n\t\t}\n\t}\n\tresponse.writeHead(200,responseHeaders);\n\tresponse.end(text);\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-login-basic.js": {
"title": "$:/core/modules/server/routes/get-login-basic.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\ntype: application/javascript\nmodule-type: route\n\nGET /login-basic -- force a Basic Authentication challenge\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/login-basic$/;\n\nexports.handler = function(request,response,state) {\n\tif(!state.authenticatedUsername) {\n\t\t// Challenge if there's no username\n\t\tresponse.writeHead(401,{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\t\t\n\t} else {\n\t\t// Redirect to the root wiki if login worked\n\t\tresponse.writeHead(302,{\n\t\t\tLocation: \"/\"\n\t\t});\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-status.js": {
"title": "$:/core/modules/server/routes/get-status.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-status.js\ntype: application/javascript\nmodule-type: route\n\nGET /status\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/status$/;\n\nexports.handler = function(request,response,state) {\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar text = JSON.stringify({\n\t\tusername: state.authenticatedUsername || state.server.get(\"anon-username\") || \"\",\n\t\tanonymous: !state.authenticatedUsername,\n\t\tread_only: !state.server.isAuthorized(\"writers\",state.authenticatedUsername),\n\t\tspace: {\n\t\t\trecipe: \"default\"\n\t\t},\n\t\ttiddlywiki_version: $tw.version\n\t});\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-tiddler-html.js": {
"title": "$:/core/modules/server/routes/get-tiddler-html.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\ntype: application/javascript\nmodule-type: route\n\nGET /:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/([^\\/]+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar renderType = tiddler.getFieldString(\"_render_type\"),\n\t\t\trenderTemplate = tiddler.getFieldString(\"_render_template\");\n\t\t// Tiddler fields '_render_type' and '_render_template' overwrite\n\t\t// system wide settings for render type and template\n\t\tif(state.wiki.isSystemTiddler(title)) {\n\t\t\trenderType = renderType || state.server.get(\"system-tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"system-tiddler-render-template\");\n\t\t} else {\n\t\t\trenderType = renderType || state.server.get(\"tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"tiddler-render-template\");\n\t\t}\n\t\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\n\t\t// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS\n\t\tresponse.writeHead(200);\n\t\tresponse.end(text,\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-tiddler.js": {
"title": "$:/core/modules/server/routes/get-tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title),\n\t\ttiddlerFields = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\ttiddlerFields[name] = value;\n\t\t\t} else {\n\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.bag = \"default\";\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/get-tiddlers-json.js": {
"title": "$:/core/modules/server/routes/get-tiddlers-json.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers.json?filter=<filter>\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_FILTER = \"[all[tiddlers]!is[system]sort[title]]\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers.json$/;\n\nexports.handler = function(request,response,state) {\n\tvar filter = state.queryParameters.filter || DEFAULT_FILTER;\n\tif(state.wiki.getTiddlerText(\"$:/config/Server/AllowAllExternalFilters\") !== \"yes\") {\n\t\tif(state.wiki.getTiddlerText(\"$:/config/Server/ExternalFilters/\" + filter) !== \"yes\") {\n\t\t\tconsole.log(\"Blocked attempt to GET /recipes/default/tiddlers.json with filter: \" + filter);\n\t\t\tresponse.writeHead(403);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\tif(state.wiki.getTiddlerText(\"$:/config/SyncSystemTiddlersFromServer\") === \"no\") {\n\t\tfilter += \"+[!is[system]]\";\n\t}\n\tvar excludeFields = (state.queryParameters.exclude || \"text\").split(\",\"),\n\t\ttitles = state.wiki.filterTiddlers(filter);\n\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\tvar tiddlers = [];\n\t$tw.utils.each(titles,function(title) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar tiddlerFields = tiddler.getFieldStrings({exclude: excludeFields});\n\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\ttiddlers.push(tiddlerFields);\n\t\t}\n\t});\n\tvar text = JSON.stringify(tiddlers);\n\tresponse.end(text,\"utf8\");\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/routes/put-tiddler.js": {
"title": "$:/core/modules/server/routes/put-tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nPUT /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"PUT\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = decodeURIComponent(state.params[0]),\n\tfields = JSON.parse(state.data);\n\t// Pull up any subfields in the `fields` object\n\tif(fields.fields) {\n\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\tfields[name] = field;\n\t\t});\n\t\tdelete fields.fields;\n\t}\n\t// Remove any revision field\n\tif(fields.revision) {\n\t\tdelete fields.revision;\n\t}\n\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\tresponse.writeHead(204, \"OK\",{\n\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n",
"type": "application/javascript",
"module-type": "route"
},
"$:/core/modules/server/server.js": {
"title": "$:/core/modules/server/server.js",
"text": "/*\\\ntitle: $:/core/modules/server/server.js\ntype: application/javascript\nmodule-type: library\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\tquerystring = require(\"querystring\");\n}\n\n/*\nA simple HTTP server with regexp-based routes\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\n\t\t routes - optional array of routes to use\n\t\t wiki - reference to wiki object\n*/\nfunction Server(options) {\n\tvar self = this;\n\tthis.routes = options.routes || [];\n\tthis.authenticators = options.authenticators || [];\n\tthis.wiki = options.wiki;\n\tthis.boot = options.boot || $tw.boot;\n\tthis.servername = $tw.utils.transliterateToSafeASCII(this.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\");\n\t// Initialise the variables\n\tthis.variables = $tw.utils.extend({},this.defaultVariables);\n\tif(options.variables) {\n\t\tfor(var variable in options.variables) {\n\t\t\tif(options.variables[variable]) {\n\t\t\t\tthis.variables[variable] = options.variables[variable];\n\t\t\t}\n\t\t}\t\t\n\t}\n\t$tw.utils.extend({},this.defaultVariables,options.variables);\n\t// Initialise CSRF\n\tthis.csrfDisable = this.get(\"csrf-disable\") === \"yes\";\n\t// Initialize Gzip compression\n\tthis.enableGzip = this.get(\"gzip\") === \"yes\";\n\t// Initialise authorization\n\tvar authorizedUserName = (this.get(\"username\") && this.get(\"password\")) ? this.get(\"username\") : \"(anon)\";\n\tthis.authorizationPrincipals = {\n\t\treaders: (this.get(\"readers\") || authorizedUserName).split(\",\").map($tw.utils.trim),\n\t\twriters: (this.get(\"writers\") || authorizedUserName).split(\",\").map($tw.utils.trim)\n\t}\n\t// Load and initialise authenticators\n\t$tw.modules.forEachModuleOfType(\"authenticator\", function(title,authenticatorDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\n\t});\n\t// Load route handlers\n\t$tw.modules.forEachModuleOfType(\"route\", function(title,routeDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addRoute(routeDefinition);\n\t});\n\t// Initialise the http vs https\n\tthis.listenOptions = null;\n\tthis.protocol = \"http\";\n\tvar tlsKeyFilepath = this.get(\"tls-key\"),\n\t\ttlsCertFilepath = this.get(\"tls-cert\");\n\tif(tlsCertFilepath && tlsKeyFilepath) {\n\t\tthis.listenOptions = {\n\t\t\tkey: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsKeyFilepath),\"utf8\"),\n\t\t\tcert: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsCertFilepath),\"utf8\")\n\t\t};\n\t\tthis.protocol = \"https\";\n\t}\n\tthis.transport = require(this.protocol);\n}\n\nServer.prototype.defaultVariables = {\n\tport: \"8080\",\n\thost: \"127.0.0.1\",\n\t\"root-tiddler\": \"$:/core/save/all\",\n\t\"root-render-type\": \"text/plain\",\n\t\"root-serve-type\": \"text/html\",\n\t\"tiddler-render-type\": \"text/html\",\n\t\"tiddler-render-template\": \"$:/core/templates/server/static.tiddler.html\",\n\t\"system-tiddler-render-type\": \"text/plain\",\n\t\"system-tiddler-render-template\": \"$:/core/templates/wikified-tiddler\",\n\t\"debug-level\": \"none\",\n\t\"gzip\": \"no\"\n};\n\nServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\n\t// Instantiate and initialise the authenticator\n\tvar authenticator = new AuthenticatorClass(this),\n\t\tresult = authenticator.init();\n\tif(typeof result === \"string\") {\n\t\t$tw.utils.error(\"Error: \" + result);\n\t} else if(result) {\n\t\t// Only use the authenticator if it initialised successfully\n\t\tthis.authenticators.push(authenticator);\n\t}\n};\n\nServer.prototype.findMatchingRoute = function(request,state) {\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(state.pathPrefix) {\n\t\t\tif(pathname.substr(0,state.pathPrefix.length) === state.pathPrefix) {\n\t\t\t\tpathname = pathname.substr(state.pathPrefix.length) || \"/\";\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nServer.prototype.methodMappings = {\n\t\"GET\": \"readers\",\n\t\"OPTIONS\": \"readers\",\n\t\"HEAD\": \"readers\",\n\t\"PUT\": \"writers\",\n\t\"POST\": \"writers\",\n\t\"DELETE\": \"writers\"\n};\n\n/*\nCheck whether a given user is authorized for the specified authorizationType (\"readers\" or \"writers\"). Pass null or undefined as the username to check for anonymous access\n*/\nServer.prototype.isAuthorized = function(authorizationType,username) {\n\tvar principals = this.authorizationPrincipals[authorizationType] || [];\n\treturn principals.indexOf(\"(anon)\") !== -1 || (username && (principals.indexOf(\"(authenticated)\") !== -1 || principals.indexOf(username) !== -1));\n}\n\nServer.prototype.requestHandler = function(request,response,options) {\n\toptions = options || {};\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = options.wiki || self.wiki;\n\tstate.boot = options.boot || self.boot;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\tstate.queryParameters = querystring.parse(state.urlInfo.query);\n\tstate.pathPrefix = options.pathPrefix || this.get(\"path-prefix\") || \"\";\n\t// Get the principals authorized to access this resource\n\tvar authorizationType = this.methodMappings[request.method] || \"readers\";\n\t// Check for the CSRF header if this is a write\n\tif(!this.csrfDisable && authorizationType === \"writers\" && request.headers[\"x-requested-with\"] !== \"TiddlyWiki\") {\n\t\tresponse.writeHead(403,\"'X-Requested-With' header required to login to '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\t\t\n\t}\n\t// Check whether anonymous access is granted\n\tstate.allowAnon = this.isAuthorized(authorizationType,null);\n\t// Authenticate with the first active authenticator\n\tif(this.authenticators.length > 0) {\n\t\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\n\t\t\t// Bail if we failed (the authenticator will have sent the response)\n\t\t\treturn;\n\t\t}\t\t\n\t}\n\t// Authorize with the authenticated username\n\tif(!this.isAuthorized(authorizationType,state.authenticatedUsername)) {\n\t\tresponse.writeHead(401,\"'\" + state.authenticatedUsername + \"' is not authorized to access '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Optionally output debug info\n\tif(self.get(\"debug-level\") !== \"none\") {\n\t\tconsole.log(\"Request path:\",JSON.stringify(state.urlInfo));\n\t\tconsole.log(\"Request headers:\",JSON.stringify(request.headers));\n\t\tconsole.log(\"authenticatedUsername:\",state.authenticatedUsername);\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Receive the request body if necessary and hand off to the route handler\n\tif(route.bodyFormat === \"stream\" || request.method === \"GET\" || request.method === \"HEAD\") {\n\t\t// Let the route handle the request stream itself\n\t\troute.handler(request,response,state);\n\t} else if(route.bodyFormat === \"string\" || !route.bodyFormat) {\n\t\t// Set the encoding for the incoming request\n\t\trequest.setEncoding(\"utf8\");\n\t\tvar data = \"\";\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata += chunk.toString();\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = data;\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else if(route.bodyFormat === \"buffer\") {\n\t\tvar data = [];\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = Buffer.concat(data);\n\t\t\troute.handler(request,response,state);\n\t\t})\n\t} else {\n\t\tresponse.writeHead(400,\"Invalid bodyFormat \" + route.bodyFormat + \" in route \" + route.method + \" \" + route.path.source);\n\t\tresponse.end();\n\t}\n};\n\n/*\nListen for requests\nport: optional port number (falls back to value of \"port\" variable)\nhost: optional host address (falls back to value of \"host\" variable)\nprefix: optional prefix (falls back to value of \"path-prefix\" variable)\n*/\nServer.prototype.listen = function(port,host,prefix) {\n\tvar self = this;\n\t// Handle defaults for port and host\n\tport = port || this.get(\"port\");\n\thost = host || this.get(\"host\");\n\tprefix = prefix || this.get(\"path-prefix\") || \"\";\n\t// Check for the port being a string and look it up as an environment variable\n\tif(parseInt(port,10).toString() !== port) {\n\t\tport = process.env[port] || 8080;\n\t}\n\t// Warn if required plugins are missing\n\tif(!this.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !this.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\t// Create the server\n\tvar server;\n\tif(this.listenOptions) {\n\t\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\n\t} else {\n\t\tserver = this.transport.createServer(this.requestHandler.bind(this));\n\t}\n\t// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)\n\tserver.on(\"listening\",function() {\n\t\tvar address = server.address();\n\t\t$tw.utils.log(\"Serving on \" + self.protocol + \"://\" + address.address + \":\" + address.port + prefix,\"brown/orange\");\n\t\t$tw.utils.log(\"(press ctrl-C to exit)\",\"red\");\n\t});\n\t// Listen\n\treturn server.listen(port,host);\n};\n\nexports.Server = Server;\n\n})();\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/core/modules/browser-messaging.js": {
"title": "$:/core/modules/browser-messaging.js",
"text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\t$tw.utils.each(document.getElementsByTagName('iframe'), function(iframe) {\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t});\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\t// console.log(\"browser-messaging: \",document.location.toString())\n\t\t// console.log(\"browser-messaging: Received message from\",event.origin);\n\t\t// console.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/commands.js": {
"title": "$:/core/modules/startup/commands.js",
"text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/CSSescape.js": {
"title": "$:/core/modules/startup/CSSescape.js",
"text": "/*\\\ntitle: $:/core/modules/startup/CSSescape.js\ntype: application/javascript\nmodule-type: startup\n\nPolyfill for CSS.escape()\n\n\\*/\n(function(root,factory){\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"css-escape\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n// https://github.com/umdjs/umd/blob/master/returnExports.js\nexports.startup = factory(root);\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\n}));\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/favicon.js": {
"title": "$:/core/modules/startup/favicon.js",
"text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",$tw.utils.makeDataUri(tiddler.fields.text,tiddler.fields.type,tiddler.fields._canonical_uri));\n\t}\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/info.js": {
"title": "$:/core/modules/startup/info.js",
"text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_INFO_PLUGIN = \"$:/temp/info-plugin\";\n\nexports.startup = function() {\n\t// Function to bake the info plugin with new tiddlers\n\tvar updateInfoPlugin = function(tiddlerFieldsArray) {\n\t\t// Get the existing tiddlers\n\t\tvar json = $tw.wiki.getTiddlerData(TITLE_INFO_PLUGIN,{tiddlers: {}});\n\t\t// Add the new ones\n\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\tif(fields && fields.title) {\n\t\t\t\tjson.tiddlers[fields.title] = fields;\n\t\t\t}\n\t\t});\n\t\t// Bake the info tiddlers into a plugin. We use the non-standard plugin-type \"info\" because ordinary plugins are only registered asynchronously after being loaded dynamically\n\t\tvar fields = {\n\t\t\ttitle: TITLE_INFO_PLUGIN,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"info\",\n\t\t\ttext: JSON.stringify(json,null,$tw.config.preferences.jsonSpaces)\n\t\t};\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\n\t};\n\t// Collect up the info tiddlers\n\tvar tiddlerFieldsArray = [];\n\t// Give each info module a chance to provide as many info tiddlers as they want as an array, and give them a callback for dynamically updating them\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tArray.prototype.push.apply(tiddlerFieldsArray,moduleExports.getInfoTiddlerFields(updateInfoPlugin));\n\t\t}\n\t});\n\tupdateInfoPlugin(tiddlerFieldsArray);\n\tvar changes = $tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);\n\t$tw.wiki.registerPluginTiddlers(\"info\",[TITLE_INFO_PLUGIN]);\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/load-modules.js": {
"title": "$:/core/modules/startup/load-modules.js",
"text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.wiki.addIndexersToWiki();\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/password.js": {
"title": "$:/core/modules/startup/password.js",
"text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/plugins.js": {
"title": "$:/core/modules/startup/plugins.js",
"text": "/*\\\ntitle: $:/core/modules/startup/plugins.js\ntype: application/javascript\nmodule-type: startup\n\nStartup logic concerned with managing plugins\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"plugins\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = \"$:/status/RequireReloadDueToPluginChange\";\n\nvar PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = \"$:/config/RegisterPluginType/\";\n\nexports.startup = function() {\n\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"no\"});\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Work out which of the changed tiddlers are plugins that we need to reregister\n\t\tvar changesToProcess = [],\n\t\t\trequireReloadDueToPluginChange = false;\n\t\t$tw.utils.each(Object.keys(changes),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\t\trequiresReload = $tw.wiki.doesPluginRequireReload(title);\n\t\t\tif(requiresReload) {\n\t\t\t\trequireReloadDueToPluginChange = true;\n\t\t\t} else if(tiddler) {\n\t\t\t\tvar pluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields[\"plugin-type\"] || \"\"),\"no\") === \"yes\") {\n\t\t\t\t\tchangesToProcess.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t// Issue warning if any of the tiddlers require a reload\n\t\tif(requireReloadDueToPluginChange) {\n\t\t\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"yes\"});\n\t\t}\n\t\t// Read or delete the plugin info of the changed tiddlers\n\t\tif(changesToProcess.length > 0) {\n\t\t\tvar changes = $tw.wiki.readPluginInfo(changesToProcess);\n\t\t\tif(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {\n\t\t\t\tvar changedShadowTiddlers = {};\n\t\t\t\t// Collect the shadow tiddlers of any deleted plugins\n\t\t\t\t$tw.utils.each(changes.deletedPlugins,function(pluginTitle) {\n\t\t\t\t\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\n\t\t\t\t\tif(pluginInfo) {\n\t\t\t\t\t\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\n\t\t\t\t\t\t\tchangedShadowTiddlers[title] = true;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// Collect the shadow tiddlers of any modified plugins\n\t\t\t\t$tw.utils.each(changes.modifiedPlugins,function(pluginTitle) {\n\t\t\t\t\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\n\t\t\t\t\tif(pluginInfo) {\n\t\t\t\t\t\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\n\t\t\t\t\t\t\tchangedShadowTiddlers[title] = false;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// (Re-)register any modified plugins\n\t\t\t\t$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);\n\t\t\t\t// Unregister any deleted plugins\n\t\t\t\t$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);\n\t\t\t\t// Unpack the shadow tiddlers\n\t\t\t\t$tw.wiki.unpackPluginTiddlers();\n\t\t\t\t// Queue change events for the changed shadow tiddlers\n\t\t\t\t$tw.utils.each(Object.keys(changedShadowTiddlers),function(title) {\n\t\t\t\t\t$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title]);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/render.js": {
"title": "$:/core/modules/startup/render.js",
"text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/RootTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar THROTTLE_REFRESH_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget, recursionMarker: \"no\"});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n \t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t})();\n\t// Remove any splash screen elements\n\tvar removeList = document.querySelectorAll(\".tc-remove-when-wiki-loaded\");\n\t$tw.utils.each(removeList,function(removeItem) {\n\t\tif(removeItem.parentNode) {\n\t\t\tremoveItem.parentNode.removeChild(removeItem);\n\t\t}\n\t});\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.hooks.invokeHook(\"th-page-refreshing\");\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only tiddlers that are throttled have changed\n\t\tvar onlyThrottledTiddlersHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !(tiddler.hasField(\"draft.of\") || tiddler.hasField(\"throttle.refresh\"))) {\n\t\t\t\tonlyThrottledTiddlersHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyThrottledTiddlersHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = THROTTLE_REFRESH_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n\t// Run any post-render startup actions\n\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/PostRender\");\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/rootwidget.js": {
"title": "$:/core/modules/startup/rootwidget.js",
"text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-show-switcher\",function(event) {\n\t\t$tw.modal.display(\"$:/core/ui/SwitcherModal\",{variables: event.paramObject, event: event});\n\t});\t\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the copy-to-clipboard mechanism\n\t$tw.rootWidget.addEventListener(\"tm-copy-to-clipboard\",function(event) {\n\t\t$tw.utils.copyToClipboard(event.param);\n\t});\n\t// Install the tm-focus-selector message\n\t$tw.rootWidget.addEventListener(\"tm-focus-selector\",function(event) {\n\t\tvar selector = event.param || \"\",\n\t\t\telement;\n\t\ttry {\n\t\t\telement = document.querySelector(selector);\n\t\t} catch(e) {\n\t\t\tconsole.log(\"Error in selector: \",selector)\n\t\t}\n\t\tif(element && element.focus) {\n\t\t\telement.focus(event.paramObject);\n\t\t}\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\n\t\t\tif(event.param === \"enter\") {\n\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t} else if(event.param === \"exit\") {\n\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\n\t\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t\t} else {\n\t\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup.js": {
"title": "$:/core/modules/startup.js",
"text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t$tw.rootWidget = new widget.widget({\n\t\ttype: \"widget\",\n\t\tchildren: []\n\t},{\n\t\twiki: $tw.wiki,\n\t\tdocument: $tw.browser ? document : $tw.fakeDocument\n\t});\n\t// Execute any startup actions\n\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction\");\n\tif($tw.browser) {\n\t\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/Browser\");\t\t\n\t}\n\tif($tw.node) {\n\t\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/Node\");\t\t\n\t}\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-GB\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Listen for shortcuts\n\tif($tw.browser) {\n\t\t$tw.utils.addEventListeners(document,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t}\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t}\n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({\n\t\twiki: $tw.wiki,\n\t\tdirtyTracking: !$tw.syncadaptor,\n\t\tpreloadDirty: $tw.boot.preloadDirty || []\n\t});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/story.js": {
"title": "$:/core/modules/startup/story.js",
"text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \"$:/config/Navigation/Permalinkview/CopyToClipboard\"; // Can be \"yes\" (default) or \"no\"\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/Permalinkview/UpdateAddressBar\"; // Can be \"yes\" (default) or \"no\"\n\n\n// Links to help, if there is no param\nvar HELP_OPEN_EXTERNAL_WINDOW = \"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\";\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers({\n\t\tdisableHistory: $tw.boot.disableStartupNavigation\n\t});\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for tm-open-external-window message\n\t\t$tw.rootWidget.addEventListener(\"tm-open-external-window\",function(event) {\n\t\t\tvar paramObject = event.paramObject || {},\n\t\t\t\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\n\t\t\t\tstrWindowName = paramObject.windowName,\n\t\t\t\tstrWindowFeatures = paramObject.windowFeatures;\n\t\t\twindow.open(strUrl, strWindowName, strWindowFeatures);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\"\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\"\n\t\t\t});\t\t\t\t\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndisableHistory: if true $:/History is NOT updated\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// Update history\n\tvar story = new $tw.Story({\n\t\twiki: $tw.wiki,\n\t\tstoryTitle: DEFAULT_STORY_TITLE,\n\t\thistoryTitle: DEFAULT_HISTORY_TITLE\n\t});\n\tif(!options.disableHistory) {\n\t\t// If a target tiddler was specified add it to the history stack\n\t\tif(target && target !== \"\") {\n\t\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t\t}\n\t\t\tstory.addToHistory(target);\n\t\t} else if(storyList.length > 0) {\n\t\t\tstory.addToHistory(storyList[0]);\n\t\t}\t\t\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.copyToClipboard: \"permalink\", \"permaview\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\t// Get the story and the history stack\n\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\ttargetTiddler = \"\";\n\tif(options.targetTiddler) {\n\t\ttargetTiddler = options.targetTiddler;\n\t} else {\n\t\t// The target tiddler is the one at the top of the stack\n\t\tif(historyList.length > 0) {\n\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t}\n\t\t// Blank the target tiddler if it isn't present in the story\n\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\ttargetTiddler = \"\";\n\t\t}\n\t}\n\t// Assemble the location hash\n\tswitch(options.updateAddressBar) {\n\t\tcase \"permalink\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t\tbreak;\n\t}\n\t// Copy URL to the clipboard\n\tswitch(options.copyToClipboard) {\n\t\tcase \"permalink\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler));\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\n\t\t\tbreak;\n\t}\n\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\tif(options.updateHistory === \"yes\") {\n\t\t\t// Assign the location hash so that history is updated\n\t\t\twindow.location.hash = $tw.locationHash;\n\t\t} else {\n\t\t\t// We use replace so that browser history isn't affected\n\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t}\n\t}\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/windows.js": {
"title": "$:/core/modules/startup/windows.js",
"text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\n$tw.windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\twindowTitle = paramObject.windowTitle || title,\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow,\n\t\t srcDocument;\n\t\t// In case that popup blockers deny opening a new window\n\t\ttry {\n\t\t\tsrcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\t}\n\t\tcatch(e) {\n\t\t\treturn;\n\t\t}\n\t\t$tw.windows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = windowTitle;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete $tw.windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\t// Listen for keyboard shortcuts\n\t\t$tw.utils.addEventListeners(srcDocument,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t\tsrcWindow.document.documentElement.addEventListener(\"click\",$tw.popup,true);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each($tw.windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/story.js": {
"title": "$:/core/modules/story.js",
"text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/storyviews/classic.js": {
"title": "$:/core/modules/storyviews/classic.js",
"text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration()\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\tif(duration) {\n\t\t// Scroll the node into view\n\t\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\t\n\t} else {\n\t\ttargetElement.scrollIntoView();\n\t}\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Reset the margin once the transition is over\n\t\tsetTimeout(function() {\n\t\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t\t{transition: \"none\"},\n\t\t\t\t{marginBottom: \"\"}\n\t\t\t]);\n\t\t},duration);\n\t\t// Set up the initial position of the element\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t// Transition to the final position\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t]);\n\t}\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode(),\n\t\t\tremoveElement = function() {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t};\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(targetElement instanceof Element)) {\n\t\t\tremoveElement();\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar currWidth = targetElement.offsetWidth,\n\t\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Remove the dom nodes of the widget at the end of the transition\n\t\tsetTimeout(removeElement,duration);\n\t\t// Animate the closure\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"translateX(0px)\"},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t\t]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/pop.js": {
"title": "$:/core/modules/storyviews/pop.js",
"text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t\t$tw.utils.setStyle(widget.document.body,[\n\t\t\t{\"overflow-x\": \"\"}\n\t\t]);\n\t},duration);\n\t// Prevent the page from overscrolling due to the zoom factor\n\t$tw.utils.setStyle(widget.document.body,[\n\t\t{\"overflow-x\": \"hidden\"}\n\t]);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement && targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/zoomin.js": {
"title": "$:/core/modules/storyviews/zoomin.js",
"text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/syncer.js": {
"title": "$:/core/modules/syncer.js",
"text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store and synchronises them to a remote data store represented as a \"sync adaptor\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleIsAnonymous = \"$:/status/IsAnonymous\";\nSyncer.prototype.titleIsReadOnly = \"$:/status/IsReadOnly\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSyncPollingInterval = \"$:/config/SyncPollingInterval\";\nSyncer.prototype.titleSyncDisableLazyLoading = \"$:/config/SyncDisableLazyLoading\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.titleSyncThrottleInterval = \"$:/config/SyncThrottleInterval\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.errorRetryInterval = 5 * 1000; // Interval to retry after an error\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\t// Save parameters\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.disableUI = !!options.disableUI;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,\"\"),10) || this.throttleInterval;\n\tthis.errorRetryInterval = options.errorRetryInterval || this.errorRetryInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\"\"),10) || this.pollTimerInterval;\n\tthis.logging = \"logging\" in options ? options.logging : true;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"),{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging,\n\t\tsaveHistory: true\n\t});\n\t// Make another logger for connection errors\n\tthis.loggerConnection = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\") + \"-connection\",{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging\n\t});\n\t// Ask the syncadaptor to use the main logger\n\tif(this.syncadaptor.setLoggerSaveBuffer) {\n\t\tthis.syncadaptor.setLoggerSaveBuffer(this.logger);\n\t}\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\tthis.titlesToBeLoaded = {}; // Hashmap of titles of tiddlers that need loading from the server\n\tthis.titlesHaveBeenLazyLoaded = {}; // Hashmap of titles of tiddlers that have already been lazily loaded from the server\n\t// Timers\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Number of outstanding requests\n\tthis.numTasksInProgress = 0;\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Filter the changes to just include ones that are being synced\n\t\tvar filteredChanges = self.getSyncedTiddlers(function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t\tif(filteredChanges.length > 0) {\n\t\t\tself.processTaskQueue();\n\t\t} else {\n\t\t\t// Look for deletions of tiddlers we're already syncing\t\n\t\t\tvar outstandingDeletion = false\n\t\t\t$tw.utils.each(changes,function(change,title,object) {\n\t\t\t\tif(change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) {\n\t\t\t\t\toutstandingDeletion = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(outstandingDeletion) {\n\t\t\t\tself.processTaskQueue();\n\t\t\t}\n\t\t}\n\t});\n\t// Browser event handlers\n\tif($tw.browser && !this.disableUI) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function(event) {\n\t\t\tvar username = event && event.paramObject && event.paramObject.username,\n\t\t\t\tpassword = event && event.paramObject && event.paramObject.password;\n\t\t\tif(username && password) {\n\t\t\t\t// Login with username and password\n\t\t\t\tself.login(username,password,function() {});\n\t\t\t} else {\n\t\t\t\t// No username and password, so we display a prompt\n\t\t\t\tself.handleLoginEvent();\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-copy-syncer-logs-to-clipboard\",function() {\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getSystemInfo() + \"\\n\\nLog:\\n\" + self.logger.getBuffer());\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tif(!this.disableUI && this.wiki.getTiddlerText(this.titleSyncDisableLazyLoading) !== \"yes\") {\n\t\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\t\tself.handleLazyLoadEvent(title);\n\t\t});\t\t\n\t}\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nShow a generic network error alert\n*/\nSyncer.prototype.displayError = function(msg,err) {\n\tif(err === ($tw.language.getString(\"Error/XMLHttpRequest\") + \": 0\")) {\n\t\tthis.loggerConnection.alert($tw.language.getString(\"Error/NetworkErrorAlert\"));\n\t\tthis.logger.log(msg + \":\",err);\n\t} else {\n\t\tthis.logger.alert(msg + \":\",err);\n\t}\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getSyncedTiddlers = function(source) {\n\treturn this.filterFn.call(this.wiki,source);\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getTiddlerRevision = function(title) {\n\tif(this.syncadaptor && this.syncadaptor.getTiddlerRevision) {\n\t\treturn this.syncadaptor.getTiddlerRevision(title);\n\t} else {\n\t\treturn this.wiki.getTiddler(title).fields.revision;\t\n\t} \n};\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\t// \"revision\" is the revision of the tiddler last seen on the server, and \"changecount\" is the corresponding local changecount\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.getSyncedTiddlers();\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tself.tiddlerInfo[title] = {\n\t\t\t\trevision: self.getTiddlerRevision(title),\n\t\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t\t};\n\t\t}\n\t});\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\tthis.logger.log(\"Checking dirty status\");\n\t// Check tiddlers that are in the store and included in the filter function\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(this.wiki.tiddlerExists(title)) {\n\t\t\tif(tiddlerInfo) {\n\t\t\t\t// If the tiddler is known on the server and has been modified locally then it needs to be saved to the server\n\t\t\t\tif(this.wiki.getChangeCount(title) > tiddlerInfo.changeCount) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// If the tiddler isn't known on the server then it needs to be saved to the server\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\t// Check tiddlers that are known from the server but not currently in the store\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\tif(!this.wiki.tiddlerExists(titles[index])) {\n\t\t\t// There must be a pending delete\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser && !this.disableUI) {\n\t\tvar dirty = this.isDirty();\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",dirty);\n\t\tif(!dirty) {\n\t\t\tthis.loggerConnection.clearAlerts();\n\t\t}\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: this.getTiddlerRevision(tiddlerFields.title),\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\t// Set the various status tiddlers\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\t\tif(isLoggedIn) {\n\t\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tvar self = this,\n\t\tcancelNextSync = function() {\n\t\t\tif(self.pollTimerId) {\n\t\t\t\tclearTimeout(self.pollTimerId);\n\t\t\t\tself.pollTimerId = null;\n\t\t\t}\n\t\t},\n\t\ttriggerNextSync = function() {\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t},\n\t\tsyncSystemFromServer = (self.wiki.getTiddlerText(\"$:/config/SyncSystemTiddlersFromServer\") === \"yes\" ? true : false);\n\tif(this.syncadaptor && this.syncadaptor.getUpdatedTiddlers) {\n\t\tthis.logger.log(\"Retrieving updated tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getUpdatedTiddlers(self,function(err,updates) {\n\t\t\ttriggerNextSync();\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(updates) {\n\t\t\t\t$tw.utils.each(updates.modifications,function(title) {\n\t\t\t\t\tself.titlesToBeLoaded[title] = true;\n\t\t\t\t});\n\t\t\t\t$tw.utils.each(updates.deletions,function(title) {\n\t\t\t\t\tif(syncSystemFromServer || !self.wiki.isSystemTiddler(title)) {\n\t\t\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(updates.modifications.length > 0 || updates.deletions.length > 0) {\n\t\t\t\t\tself.processTaskQueue();\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t});\n\t} else if(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tcancelNextSync();\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\ttriggerNextSync();\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Keep track of which tiddlers we already know about have been reported this time\n\t\t\tvar previousTitles = Object.keys(self.tiddlerInfo);\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.tiddlerExists(tiddlerFields.title) && self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null,\n\t\t\t\t\tindexInPreviousTitles = previousTitles.indexOf(tiddlerFields.title);\n\t\t\t\tif(indexInPreviousTitles !== -1) {\n\t\t\t\t\tpreviousTitles.splice(indexInPreviousTitles,1);\n\t\t\t\t}\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Only load the skinny version if we don't already have a fat version of the tiddler\n\t\t\t\t\tif(!tiddler || tiddler.fields.text === undefined) {\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\tself.titlesToBeLoaded[tiddlerFields.title] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Delete any tiddlers that were previously reported but missing this time\n\t\t\t$tw.utils.each(previousTitles,function(title) {\n\t\t\t\tif(syncSystemFromServer || !self.wiki.isSystemTiddler(title)) {\n\t\t\t\t\tdelete self.tiddlerInfo[title];\n\t\t\t\t\tself.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\tself.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t});\n\t\t\tself.processTaskQueue();\n\t\t});\n\t}\n};\n\n/*\nForce load a tiddler from the server\n*/\nSyncer.prototype.enqueueLoadTiddler = function(title) {\n\tthis.titlesToBeLoaded[title] = true;\n\tthis.processTaskQueue();\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Ignore if the syncadaptor doesn't handle it\n\tif(!this.syncadaptor.supportsLazyLoading) {\n\t\treturn;\n\t}\n\t// Don't lazy load the same tiddler twice\n\tif(!this.titlesHaveBeenLazyLoaded[title]) {\n\t\t// Don't lazy load if the tiddler isn't included in the sync filter\n\t\tif(this.getSyncedTiddlers().indexOf(title) !== -1) {\n\t\t\t// Mark the tiddler as needing loading, and having already been lazily loaded\n\t\t\tthis.titlesToBeLoaded[title] = true;\n\t\t\tthis.titlesHaveBeenLazyLoaded[title] = true;\n\t\t}\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!err && !isLoggedIn) {\n\t\t\tif(self.syncadaptor && self.syncadaptor.displayLoginPrompt) {\n\t\t\t\tself.syncadaptor.displayLoginPrompt(self);\n\t\t\t} else {\n\t\t\t\tself.displayLoginPrompt();\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nDispay a password prompt\n*/\nSyncer.prototype.displayLoginPrompt = function() {\n\tvar self = this;\n\tvar promptInfo = $tw.passwordPrompt.createPrompt({\n\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\tcallback: function(data) {\n\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\tself.syncFromServer();\n\t\t\t});\n\t\t\treturn true; // Get rid of the password prompt\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(err,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nProcess the next task\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing\n\t// a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(typeof task === \"object\" && task !== null) {\n\t\t\tthis.numTasksInProgress += 1;\n\t\t\ttask.run(function(err) {\n\t\t\t\tself.numTasksInProgress -= 1;\n\t\t\t\tif(err) {\n\t\t\t\t\tself.displayError(\"Sync error while processing \" + task.type + \" of '\" + task.title + \"'\",err);\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\tself.triggerTimeout(self.errorRetryInterval);\n\t\t\t\t} else {\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\t// Process the next task\n\t\t\t\t\tself.processTaskQueue.call(self);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// No task is ready so update the status\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// And trigger a timeout if there is a pending task\n\t\t\tif(task === true) {\n\t\t\t\tthis.triggerTimeout();\t\t\t\t\n\t\t\t}\n\t\t}\n\t} else {\n\t\tthis.updateDirtyStatus();\t\t\n\t}\n};\n\nSyncer.prototype.triggerTimeout = function(interval) {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},interval || self.taskTimerInterval);\n\t}\n};\n\n/*\nChoose the next sync task. We prioritise saves, then deletes, then loads from the server\n\nReturns either a task object, null if there's no upcoming tasks, or the boolean true if there are pending tasks that aren't yet due\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar thresholdLastSaved = (new Date()) - this.throttleInterval,\n\t\thavePending = null;\n\t// First we look for tiddlers that have been modified locally and need saving back to the server\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title),\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(tiddler) {\n\t\t\t// If the tiddler is not known on the server, or has been modified locally no more recently than the threshold then it needs to be saved to the server\n\t\t\tvar hasChanged = !tiddlerInfo || this.wiki.getChangeCount(title) > tiddlerInfo.changeCount,\n\t\t\t\tisReadyToSave = !tiddlerInfo || !tiddlerInfo.timestampLastSaved || tiddlerInfo.timestampLastSaved < thresholdLastSaved;\n\t\t\tif(hasChanged) {\n\t\t\t\tif(isReadyToSave) {\n\t\t\t\t\treturn new SaveTiddlerTask(this,title); \t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\thavePending = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Second, we check tiddlers that are known from the server but not currently in the store, and so need deleting on the server\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\ttitle = titles[index];\n\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\treturn new DeleteTiddlerTask(this,title);\n\t\t}\n\t}\n\t// Check for tiddlers that need loading\n\ttitle = Object.keys(this.titlesToBeLoaded)[0];\n\tif(title) {\n\t\tdelete this.titlesToBeLoaded[title];\n\t\treturn new LoadTiddlerTask(this,title);\n\t}\n\t// No tasks are ready\n\treturn havePending;\n};\n\nfunction SaveTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"save\";\n}\n\nSaveTiddlerTask.prototype.run = function(callback) {\n\tvar self = this,\n\t\tchangeCount = this.syncer.wiki.getChangeCount(this.title),\n\t\ttiddler = this.syncer.wiki.tiddlerExists(this.title) && this.syncer.wiki.getTiddler(this.title);\n\tthis.syncer.logger.log(\"Dispatching 'save' task:\",this.title);\n\tif(tiddler) {\n\t\tthis.syncer.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t// If there's an error, exit without changing any internal state\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Adjust the info stored about this tiddler\n\t\t\tself.syncer.tiddlerInfo[self.title] = {\n\t\t\t\tchangeCount: changeCount,\n\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\trevision: revision,\n\t\t\t\ttimestampLastSaved: new Date()\n\t\t\t};\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.syncer.tiddlerInfo[self.title]\n\t\t});\n\t} else {\n\t\tthis.syncer.logger.log(\" Not Dispatching 'save' task:\",this.title,\"tiddler does not exist\");\n\t\t$tw.utils.nextTick(callback(null));\n\t}\n};\n\nfunction DeleteTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"delete\";\n}\n\nDeleteTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'delete' task:\",this.title);\n\tthis.syncer.syncadaptor.deleteTiddler(this.title,function(err) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Remove the info stored about this tiddler\n\t\tdelete self.syncer.tiddlerInfo[self.title];\n\t\tif($tw.boot.files){\n\t\t\t// Remove the tiddler from $tw.boot.files\n\t\t\tdelete $tw.boot.files[self.title];\n\t\t}\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t},{\n\t\ttiddlerInfo: self.syncer.tiddlerInfo[this.title]\n\t});\n};\n\nfunction LoadTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"load\";\n}\n\nLoadTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'load' task:\",this.title);\n\tthis.syncer.syncadaptor.loadTiddler(this.title,function(err,tiddlerFields) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Update the info stored about this tiddler\n\t\tif(tiddlerFields) {\n\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t}\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t});\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/tiddler.js": {
"title": "$:/core/modules/tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet the value of a field as a list\n*/\nexports.getFieldList = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn [];\n\t}\n\treturn $tw.utils.parseStringArray(value);\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [],\n\t\tfields = Object.keys(this.fields).sort(),\n\t\tresult = [];\n\tfor(var t=0; t<fields.length; t++) {\n\t\tvar field = fields[t];\n\t\tif(exclude.indexOf(field) === -1) {\n\t\t\tresult.push(field + \": \" + this.getFieldString(field));\n\t\t}\n\t}\n\treturn result.join(\"\\n\");\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "tiddlermethod"
},
"$:/core/modules/upgraders/plugins.js": {
"title": "$:/core/modules/upgraders/plugins.js",
"text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin contains JS modules\n\t\t\tvar requiresReload = wiki.doesPluginInfoRequireReload(JSON.parse(incomingTiddler.text)) ? (wiki.getTiddlerText(\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\") + \" \") : \"\";\n\t\t\tmessages[title] = requiresReload;\n\t\t\tif(incomingTiddler.version) {\n\t\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/system.js": {
"title": "$:/core/modules/upgraders/system.js",
"text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\",\"$:/Import\"],\n\tWARN_IMPORT_PREFIX_LIST = [\"$:/core/modules/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tshowAlert = false;\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\n\t\t\t\t\tshowAlert = true;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Warning\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tif(showAlert) {\n\t\tvar logger = new $tw.utils.Logger(\"import\");\n\t\tlogger.alert($tw.language.getString(\"Import/Upgrader/System/Alert\"));\n\t}\n\treturn messages;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/themetweaks.js": {
"title": "$:/core/modules/upgraders/themetweaks.js",
"text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/utils/base64-utf8/base64-utf8.module.js": {
"text": "(function(){// From https://gist.github.com/Nijikokun/5192472\n//\n// UTF8 Module\n//\n// Cleaner and modularized utf-8 encoding and decoding library for javascript.\n//\n// copyright: MIT\n// author: Nijiko Yonskai, @nijikokun, nijikokun@gmail.com\n!function(r,e,o,t){void 0!==o.module&&o.module.exports?o.module.exports=e.apply(o):void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"utf8\",[],e):o.utf8=e.apply(o)}(0,function(){return{encode:function(r){if(\"string\"!=typeof r)return r;r=r.replace(/\\r\\n/g,\"\\n\");for(var e,o=\"\",t=0;t<r.length;t++)if((e=r.charCodeAt(t))<128)o+=String.fromCharCode(e);else if(e>127&&e<2048)o+=String.fromCharCode(e>>6|192),o+=String.fromCharCode(63&e|128);else if(e>55295&&e<57344&&r.length>t+1){var i=e,n=r.charCodeAt(t+1);t++;var d=65536+(i-55296<<10|n-56320);o+=String.fromCharCode(d>>18|240),o+=String.fromCharCode(d>>12&63|128),o+=String.fromCharCode(d>>6&63|128),o+=String.fromCharCode(63&d|128)}else o+=String.fromCharCode(e>>12|224),o+=String.fromCharCode(e>>6&63|128),o+=String.fromCharCode(63&e|128);return o},decode:function(r){if(\"string\"!=typeof r)return r;for(var e=\"\",o=0,t=0;o<r.length;)if((t=r.charCodeAt(o))<128)e+=String.fromCharCode(t),o++;else if(t>191&&t<224)e+=String.fromCharCode((31&t)<<6|63&r.charCodeAt(o+1)),o+=2;else if(t>223&&t<240)e+=String.fromCharCode((15&t)<<12|(63&r.charCodeAt(o+1))<<6|63&r.charCodeAt(o+2)),o+=3;else{var i=(7&t)<<18|(63&r.charCodeAt(o+1))<<12|(63&r.charCodeAt(o+2))<<6|63&r.charCodeAt(o+3);e+=String.fromCharCode(55296+(i-65536>>10))+String.fromCharCode(56320+(i-65536&1023)),o+=4}return e}}},this),function(r,e,o,t){if(void 0!==o.module&&o.module.exports){if(t&&o.require)for(var i=0;i<t.length;i++)o[t[i]]=o.require(t[i]);o.module.exports=e.apply(o)}else void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"base64\",t||[],e):o.base64=e.apply(o)}(0,function(r){var e=r||this.utf8,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return{encode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=e.encode(r);for(var t,i,n,d,f,a,h,C=\"\",c=0;c<r.length;)d=(t=r.charCodeAt(c++))>>2,f=(3&t)<<4|(i=r.charCodeAt(c++))>>4,a=(15&i)<<2|(n=r.charCodeAt(c++))>>6,h=63&n,isNaN(i)?a=h=64:isNaN(n)&&(h=64),C+=o.charAt(d)+o.charAt(f)+o.charAt(a)+o.charAt(h);return C},decode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");for(var t,i,n,d,f,a,h=\"\",C=0;C<r.length;)t=o.indexOf(r.charAt(C++))<<2|(d=o.indexOf(r.charAt(C++)))>>4,i=(15&d)<<4|(f=o.indexOf(r.charAt(C++)))>>2,n=(3&f)<<6|(a=o.indexOf(r.charAt(C++))),h+=String.fromCharCode(t),64!=f&&(h+=String.fromCharCode(i)),64!=a&&(h+=String.fromCharCode(n));return e.decode(h)}}},this,[\"utf8\"]);}).call(exports);",
"type": "application/javascript",
"title": "$:/core/modules/utils/base64-utf8/base64-utf8.module.js",
"module-type": "library"
},
"$:/core/modules/utils/crypto.js": {
"title": "$:/core/modules/utils/crypto.js",
"text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/csv.js": {
"title": "$:/core/modules/utils/csv.js",
"text": "/*\\\ntitle: $:/core/modules/utils/csv.js\ntype: application/javascript\nmodule-type: utils\n\nA barebones CSV parser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a CSV string with a header row and return an array of hashmaps.\n*/\nexports.parseCsvStringWithHeader = function(text,options) {\n\toptions = options || {};\n\tvar separator = options.separator || \",\",\n\t\trows = text.split(/\\r?\\n/mg).map(function(row) {\n\t\t\treturn $tw.utils.trim(row);\n\t\t}).filter(function(row) {\n\t\t\treturn row !== \"\";\n\t\t});\n\tif(rows.length < 1) {\n\t\treturn \"Missing header row\";\n\t}\n\tvar headings = rows[0].split(separator),\n\t\tresults = [];\n\tfor(var row=1; row<rows.length; row++) {\n\t\tvar columns = rows[row].split(separator),\n\t\t\tcolumnResult = Object.create(null);\n\t\tif(columns.length !== headings.length) {\n\t\t\treturn \"Malformed CSV row '\" + rows[row] + \"'\";\n\t\t}\n\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\tvar columnName = headings[column];\n\t\t\tcolumnResult[columnName] = $tw.utils.trim(columns[column] || \"\");\n\t\t}\n\t\tresults.push(columnResult);\t\t\t\n\t}\n\treturn results;\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/diff-match-patch/diff_match_patch.js": {
"text": "(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;\ndiff_match_patch.prototype.diff_main=function(a,b,c,d){\"undefined\"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error(\"Null input. (diff_main)\");if(a==b)return a?[[DIFF_EQUAL,a]]:[];\"undefined\"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,\nb,e,d);c&&a.unshift([DIFF_EQUAL,c]);g&&a.push([DIFF_EQUAL,g]);this.diff_cleanupMerge(a);return a};\ndiff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[DIFF_INSERT,b]];if(!b)return[[DIFF_DELETE,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[DIFF_INSERT,e.substring(0,g)],[DIFF_EQUAL,f],[DIFF_INSERT,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[[DIFF_DELETE,a],[DIFF_INSERT,b]]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([[DIFF_EQUAL,\na]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};\ndiff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([DIFF_EQUAL,\"\"]);for(var e=d=b=0,f=\"\",g=\"\";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=\nd.length}d=e=0;g=f=\"\"}b++}a.pop();return a};\ndiff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=\nu)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[[DIFF_DELETE,a],[DIFF_INSERT,b]]};\ndiff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};\ndiff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b=\"\",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf(\"\\n\",c);-1==f&&(f=a.length-1);var h=a.substring(c,f+1);c=f+1;(e.hasOwnProperty?e.hasOwnProperty(h):void 0!==e[h])?b+=String.fromCharCode(e[h]):(b+=String.fromCharCode(g),e[h]=g,d[g++]=h)}return b}var d=[],e={};d[0]=\"\";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};\ndiff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join(\"\")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};\ndiff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g=\"\",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;\nvar d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};\ndiff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(a[f-1][0]==\nDIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[DIFF_EQUAL,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[DIFF_EQUAL,b.substring(0,e)]),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,a[f+1][1]=b.substring(e),f++;f++}f++}};\ndiff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);\nreturn k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-\n1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\\s/;diff_match_patch.linebreakRegex_=/[\\r\\n]/;diff_match_patch.blanklineEndRegex_=/\\n\\r?\\n$/;diff_match_patch.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;\ndiff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([DIFF_EQUAL,\"\"]);for(var b=0,c=0,d=0,e=\"\",f=\"\",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[DIFF_EQUAL,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-\ng)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[DIFF_INSERT,f]):0===d?a.splice(b-c,c+d,[DIFF_DELETE,e]):a.splice(b-c-d,c+d,[DIFF_DELETE,e],[DIFF_INSERT,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=\"\"}\"\"===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,\na[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};\ndiff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,\"&\").replace(d,\"<\").replace(e,\">\").replace(f,\"¶<br>\");switch(h){case DIFF_INSERT:b[g]='<ins style=\"background:#e6ffe6;\">'+l+\"</ins>\";break;case DIFF_DELETE:b[g]='<del style=\"background:#ffe6e6;\">'+l+\"</del>\";break;case DIFF_EQUAL:b[g]=\"<span>\"+l+\"</span>\"}}return b.join(\"\")};\ndiff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join(\"\")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join(\"\")};\ndiff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};\ndiff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]=\"+\"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]=\"-\"+a[c][1].length;break;case DIFF_EQUAL:b[c]=\"=\"+a[c][1].length}return b.join(\"\\t\").replace(/%20/g,\" \")};\ndiff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case \"+\":try{c[d++]=[DIFF_INSERT,decodeURI(h)]}catch(k){throw Error(\"Illegal escape in diff_fromDelta: \"+h);}break;case \"-\":case \"=\":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error(\"Invalid number in diff_fromDelta: \"+h);h=a.substring(e,e+=l);\"=\"==f[g].charAt(0)?c[d++]=[DIFF_EQUAL,h]:c[d++]=[DIFF_DELETE,h];break;default:if(f[g])throw Error(\"Invalid diff operation in diff_fromDelta: \"+\nf[g]);}}if(e!=a.length)throw Error(\"Delta length (\"+e+\") does not equal source text length (\"+a.length+\").\");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error(\"Null input. (match_main)\");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};\ndiff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error(\"Pattern too long for this browser.\");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,\nc+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};\ndiff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};\ndiff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([DIFF_EQUAL,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([DIFF_EQUAL,d]);a.start1-=c.length;a.start2-=\nc.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};\ndiff_match_patch.prototype.patch_make=function(a,b,c){if(\"string\"==typeof a&&\"string\"==typeof b&&\"undefined\"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&\"object\"==typeof a&&\"undefined\"==typeof b&&\"undefined\"==typeof c)b=a,d=this.diff_text1(b);else if(\"string\"==typeof a&&b&&\"object\"==typeof b&&\"undefined\"==typeof c)d=a;else if(\"string\"==typeof a&&\"string\"==typeof b&&c&&\"object\"==typeof c)d=a,b=c;else throw Error(\"Unknown call format to patch_make.\");\nif(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):\nm.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};\ndiff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};\ndiff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,\ng);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===\nDIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};\ndiff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c=\"\",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift([DIFF_EQUAL,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||e[e.length-\n1][0]!=DIFF_EQUAL?(e.push([DIFF_EQUAL,c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};\ndiff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g=\"\";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;\"\"!==g&&(h.length1=h.length2=g.length,h.diffs.push([DIFF_EQUAL,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=k.length,f+=k.length,h.diffs.push(d.diffs.shift()),\nl=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push([g,k]),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push([g,k]),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,\nthis.Patch_Margin);\"\"!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push([DIFF_EQUAL,k]));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join(\"\")};\ndiff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split(\"\\n\");for(var c=0,d=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error(\"Invalid patch string: \"+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);\"\"===e[2]?(f.start1--,f.length1=1):\"0\"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);\"\"===e[4]?(f.start2--,f.length2=1):\"0\"==e[4]?f.length2=0:(f.start2--,f.length2=\nparseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error(\"Illegal escape in patch_fromText: \"+g);}if(\"-\"==e)f.diffs.push([DIFF_DELETE,g]);else if(\"+\"==e)f.diffs.push([DIFF_INSERT,g]);else if(\" \"==e)f.diffs.push([DIFF_EQUAL,g]);else if(\"@\"==e)break;else if(\"\"!==e)throw Error('Invalid patch mode \"'+e+'\" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};\ndiff_match_patch.patch_obj.prototype.toString=function(){for(var a=[\"@@ -\"+(0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1)+\" +\"+(0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2)+\" @@\\n\"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b=\"+\";break;case DIFF_DELETE:b=\"-\";break;case DIFF_EQUAL:b=\" \"}a[c+1]=b+encodeURI(this.diffs[c][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")};\nthis.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;\n}).call(exports);",
"type": "application/javascript",
"title": "$:/core/modules/utils/diff-match-patch/diff_match_patch.js",
"module-type": "library"
},
"$:/core/modules/utils/dom/animations/slide.js": {
"title": "$:/core/modules/utils/dom/animations/slide.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "animation"
},
"$:/core/modules/utils/dom/animator.js": {
"title": "$:/core/modules/utils/dom/animator.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/browser.js": {
"title": "$:/core/modules/utils/dom/browser.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/csscolorparser.js": {
"title": "$:/core/modules/utils/dom/csscolorparser.js",
"text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom.js": {
"title": "$:/core/modules/utils/dom.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.hasAttribute && el.hasAttribute(\"class\") && el.getAttribute(\"class\").split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = (el.getAttribute(\"class\") || \"\").split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t\tel.setAttribute(\"class\",c.join(\" \"));\n\t}\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = (el.getAttribute(\"class\") || \"\").split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.setAttribute(\"class\",c.join(\" \"));\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function(srcWindow) {\n\tvar scrollWindow = srcWindow || window;\n\tif(\"scrollX\" in scrollWindow) {\n\t\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\n\t} else {\n\t\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tvar done = false;\n\ttry {\n\t\twindow.localStorage.setItem(\"tw5-password-\" + name,password);\n\t\tdone = true;\n\t} catch(e) {\n\t}\n\tif(!done) {\n\t\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\n\t\t$tw.savedPasswords[name] = password;\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\tvar value;\n\ttry {\n\t\tvalue = window.localStorage.getItem(\"tw5-password-\" + name);\n\t} catch(e) {\n\t}\n\tif(value !== undefined) {\n\t\treturn value;\n\t} else {\n\t\treturn ($tw.savedPasswords || Object.create(null))[name] || \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n/*\nCopy plain text to the clipboard on browsers that support it\n*/\nexports.copyToClipboard = function(text,options) {\n\toptions = options || {};\n\tvar textArea = document.createElement(\"textarea\");\n\ttextArea.style.position = \"fixed\";\n\ttextArea.style.top = 0;\n\ttextArea.style.left = 0;\n\ttextArea.style.fontSize = \"12pt\";\n\ttextArea.style.width = \"2em\";\n\ttextArea.style.height = \"2em\";\n\ttextArea.style.padding = 0;\n\ttextArea.style.border = \"none\";\n\ttextArea.style.outline = \"none\";\n\ttextArea.style.boxShadow = \"none\";\n\ttextArea.style.background = \"transparent\";\n\ttextArea.value = text;\n\tdocument.body.appendChild(textArea);\n\ttextArea.select();\n\ttextArea.setSelectionRange(0,text.length);\n\tvar succeeded = false;\n\ttry {\n\t\tsucceeded = document.execCommand(\"copy\");\n\t} catch (err) {\n\t}\n\tif(!options.doNotNotify) {\n\t\t$tw.notifier.display(succeeded ? \"$:/language/Notifications/CopiedToClipboard/Succeeded\" : \"$:/language/Notifications/CopiedToClipboard/Failed\");\n\t}\n\tdocument.body.removeChild(textArea);\n};\n\nexports.getLocationPath = function() {\n\treturn window.location.toString().split(\"#\")[0];\n};\n\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/dragndrop.js": {
"title": "$:/core/modules/utils/dom/dragndrop.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\ndragImageType: \"pill\" or \"dom\"\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the contect for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif((domNode.tagName || \"\").toLowerCase() !== \"a\") {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\t\t\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\tif(event.dataTransfer === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t \tstartActions = options.startActions;\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && event.target === domNode) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(event.target,\"tc-dragging\");\n\t\t\t\t// Invoke drag-start actions if given\n\t\t\t\tif(startActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(startActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif(event.target === domNode) {\n\t\t\t\t// Collect the tiddlers being dragged\n\t\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t \t\tendActions = options.endActions;\n\t\t\t\tif(dragFilter) {\n\t\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t\t}\n\t\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Invoke drag-end actions if given\n\t\t\t\tif(endActions !== undefined) {\n\t\t\t\t\toptions.widget.invokeActionString(endActions,options.widget,event,{actionTiddler: titleString});\n\t\t\t\t}\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(event.target,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Available data types:\");\n\t\tfor(var type=0; type<dataTransfer.types.length; type++) {\n\t\t\tconsole.log(\"type\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]))\n\t\t}\n\t}\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = JSON.parse(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/http.js": {
"title": "$:/core/modules/utils/dom/http.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\theaders: hashmap of headers to send\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data,xhr)\n\treturnProp: string name of the property to return as first argument of callback\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\turl = options.url,\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\thasHeader = function(targetHeader) {\n\t\t\ttargetHeader = targetHeader.toLowerCase();\n\t\t\tvar result = false;\n\t\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\t\tif(headerTitle.toLowerCase() === targetHeader) {\n\t\t\t\t\tresult = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tif(type === \"GET\" || type === \"HEAD\") {\n\t\t\t\turl += \"?\" + results.join(\"&\");\n\t\t\t} else {\n\t\t\t\tdata = results.join(\"&\");\n\t\t\t}\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status,null,this);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !hasHeader(\"Content-Type\")) {\n\t\trequest.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\tif(!hasHeader(\"X-Requested-With\")) {\n\t\trequest.setRequestHeader(\"X-Requested-With\",\"TiddlyWiki\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e,null,this);\n\t}\n\treturn request;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/keyboard.js": {
"title": "$:/core/modules/utils/dom/keyboard.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/modal.js": {
"title": "$:/core/modules/utils/dom/modal.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\nvar navigator = require(\"$:/core/modules/widgets/navigator.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tthis.srcDocument = options.variables && (options.variables.rootwindow === \"true\" ||\n\t\t\t\toptions.variables.rootwindow === \"yes\") ? document :\n\t\t\t\t(options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\n\tthis.srcWindow = this.srcDocument.defaultView;\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({\n\t\t\tcurrentTiddler: title,\n\t\t\t\"tv-story-list\": (options.event && options.event.widget ? options.event.widget.getVariable(\"tv-story-list\") : \"\"),\n\t\t\t\"tv-history-list\": (options.event && options.event.widget ? options.event.widget.getVariable(\"tv-history-list\") : \"\")\n\t\t},options.variables);\n\n\t// Create the wrapper divs\n\tvar wrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalBackdrop = this.srcDocument.createElement(\"div\"),\n\t\tmodalWrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalHeader = this.srcDocument.createElement(\"div\"),\n\t\theaderTitle = this.srcDocument.createElement(\"h3\"),\n\t\tmodalBody = this.srcDocument.createElement(\"div\"),\n\t\tmodalLink = this.srcDocument.createElement(\"a\"),\n\t\tmodalFooter = this.srcDocument.createElement(\"div\"),\n\t\tmodalFooterHelp = this.srcDocument.createElement(\"span\"),\n\t\tmodalFooterButtons = this.srcDocument.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\tif(tiddler.fields && tiddler.fields.class) {\n\t\t$tw.utils.addClass(wrapper,tiddler.fields.class);\n\t}\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\tvar navigatorTree = {\n\t\t\"type\": \"navigator\",\n\t\t\"attributes\": {\n\t\t\t\"story\": {\n\t\t\t\t\"name\": \"story\",\n\t\t\t\t\"type\": \"string\",\n\t\t\t\t\"value\": variables[\"tv-story-list\"]\n\t\t\t},\n\t\t\t\"history\": {\n\t\t\t\t\"name\": \"history\",\n\t\t\t\t\"type\": \"string\",\n\t\t\t\t\"value\": variables[\"tv-history-list\"]\n\t\t\t}\n\t\t},\n\t\t\"tag\": \"$navigator\",\n\t\t\"isBlock\": true,\n\t\t\"children\": []\n\t};\n\tvar navigatorWidgetNode = new navigator.navigator(navigatorTree, {\n\t\twiki: this.wiki,\n\t\tdocument : this.srcDocument,\n\t\tparentWidget: $tw.rootWidget\n\t});\n\tnavigatorWidgetNode.render(modalBody,null);\n\t\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(this.srcDocument.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler.fields && tiddler.fields.help) {\n\t\tvar link = this.srcDocument.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(this.srcDocument.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + self.srcWindow.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tself.srcWindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tself.srcDocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-this.srcWindow.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tthis.srcDocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\n\tif(windowContainer) {\n\t\t$tw.utils.toggleClass(windowContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/notifier.js": {
"title": "$:/core/modules/utils/dom/notifier.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/popup.js": {
"title": "$:/core/modules/utils/dom/popup.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\n\tdomNodeRect: rectangle to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\n\t// Store the popup details if not already there\n\tif(!options.floating && this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode,\n\t\t\tnoStateReference: options.noStateReference\n\t\t});\n\t}\n\t// Set the state tiddler\n\tvar rect;\n\tif(options.domNodeRect) {\n\t\trect = options.domNodeRect;\n\t} else {\n\t\trect = {\n\t\t\tleft: options.domNode.offsetLeft,\n\t\t\ttop: options.domNode.offsetTop,\n\t\t\twidth: options.domNode.offsetWidth,\n\t\t\theight: options.domNode.offsetHeight\n\t\t};\n\t}\n\tvar popupRect = \"(\" + rect.left + \",\" + rect.top + \",\" + \n\t\t\t\trect.width + \",\" + rect.height + \")\";\n\tif(options.noStateReference) {\n\t\toptions.wiki.setText(options.title,\"text\",undefined,popupRect);\n\t} else {\n\t\toptions.wiki.setTextReference(options.title,popupRect);\n\t}\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tif(popup.noStateReference) {\n\t\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t\t} else {\n\t\t\t\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\n \t\t}\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/scroller.js": {
"title": "$:/core/modules/utils/dom/scroller.js",
"text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.isScrolling = function() {\n\treturn this.idRequestFrame !== null;\n}\n\nPageScroller.prototype.cancelScroll = function(srcWindow) {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\tif(event.paramObject && event.paramObject.selector) {\n\t\t\tthis.scrollSelectorIntoView(null,event.paramObject.selector);\n\t\t} else {\n\t\t\tthis.scrollIntoView(event.target);\t\t\t\n\t\t}\n\t\treturn false; // Event was handled\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element,callback) {\n\tvar self = this,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t srcWindow = element ? element.ownerDocument.defaultView : window;\n\t// Now get ready to scroll the body\n\tthis.cancelScroll(srcWindow);\n\tthis.startTime = Date.now();\n\t// Get the height of any position:fixed toolbars\n\tvar toolbar = srcWindow.document.querySelector(\".tc-adjust-top-of-scroll\"),\n\t\toffset = 0;\n\tif(toolbar) {\n\t\toffset = toolbar.offsetHeight;\n\t}\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar getBounds = function() {\n\t\t\tvar clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),\n\t\t\t\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\n\t\t\treturn {\n\t\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\t\ttop: clientBounds.top + scrollPosition.y - offset,\n\t\t\t\twidth: clientBounds.width,\n\t\t\t\theight: clientBounds.height\n\t\t\t};\n\t\t},\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\t// targetPos/targetSize - position and size of the target element\n\t\t// currentPos/currentSize - position and size of the current scroll viewport\n\t\t// returns: new position of the scroll viewport\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = targetPos;\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tdrawFrame = function drawFrame() {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll(srcWindow);\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\n\t\t\t\tbounds = getBounds(),\n\t\t\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\n\t\t\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\n\t\t\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\tdrawFrame();\n};\n\nPageScroller.prototype.scrollSelectorIntoView = function(baseElement,selector,callback) {\n\tbaseElement = baseElement || document.body;\n\tvar element = baseElement.querySelector(selector);\n\tif(element) {\n\t\tthis.scrollIntoView(element,callback);\t\t\n\t}\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/edition-info.js": {
"title": "$:/core/modules/utils/edition-info.js",
"text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/fakedom.js": {
"title": "$:/core/modules/utils/fakedom.js",
"text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_Node = function (){\n\tthrow TypeError(\"Illegal constructor\");\n};\n\nObject.defineProperty(TW_Node.prototype, 'ELEMENT_NODE', {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nObject.defineProperty(TW_Node.prototype, 'TEXT_NODE', {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nTW_TextNode.prototype = Object.create(TW_Node.prototype);\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn this.TEXT_NODE;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis._style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nTW_Element.prototype = Object.create(TW_Node.prototype);\n\nObject.defineProperty(TW_Element.prototype, \"style\", {\n\tget: function() {\n\t\treturn this._style;\n\t},\n\tset: function(str) {\n\t\tvar self = this;\n\t\tstr = str || \"\";\n\t\t$tw.utils.each(str.split(\";\"),function(declaration) {\n\t\t\tvar parts = declaration.split(\":\"),\n\t\t\t\tname = $tw.utils.trim(parts[0]),\n\t\t\t\tvalue = $tw.utils.trim(parts[1]);\n\t\t\tif(name && value) {\n\t\t\t\tself._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\n\t\t\t}\n\t\t});\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn this.ELEMENT_NODE;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value + \"\";\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this._style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this._style) {\n\t\t\t\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \":\" + this._style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\");\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/filesystem.js": {
"title": "$:/core/modules/utils/filesystem.js",
"text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nReturn the subdirectories of a path\n*/\nexports.getSubdirectories = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn null;\n\t}\n\tvar subdirs = [];\n\t$tw.utils.each(fs.readdirSync(dirPath),function(item) {\n\t\tif($tw.utils.isDirectory(path.resolve(dirPath,item))) {\n\t\t\tsubdirs.push(item);\n\t\t}\n\t});\n\treturn subdirs;\n}\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = path.resolve($tw.utils.removeTrailingSeparator(srcPath));\n\tdstPath = path.resolve($tw.utils.removeTrailingSeparator(dstPath));\n\t// Check that neither director is within the other\n\tif(srcPath.substring(0,dstPath.length) === dstPath || dstPath.substring(0,srcPath.length) === srcPath) {\n\t\treturn \"Cannot copy nested directories\";\n\t}\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n/*\nCreate a fileInfo object for saving a tiddler:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file on disk (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n\tisEditableFile: true if the tiddler was loaded via non-standard options & marked editable\nOptions include:\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\textFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters,\n\tfileInfo: an existing fileInfo to check against\n\toriginalpath: a preferred filepath if no pathFilters match\n*/\nexports.generateTiddlerFileInfo = function(tiddler,options) {\n\tvar fileInfo = {}, metaExt;\n\t// Propagate the isEditableFile flag\n\tif(options.fileInfo) {\n\t\tfileInfo.isEditableFile = options.fileInfo.isEditableFile || false;\n\t}\n\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\n\tvar hasUnsafeFields = false;\n\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\n\t\tif(fieldName !== \"text\") {\n\t\t\thasUnsafeFields = hasUnsafeFields || /[\\x00-\\x1F]/mg.test(value);\n\t\t\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\n\t\t}\n\t});\n\t// Check for field values \n\tif(hasUnsafeFields) {\n\t\t// Save as a JSON file\n\t\tfileInfo.type = \"application/json\";\n\t\tfileInfo.hasMetaFile = false;\n\t} else {\n\t\t// Save as a .tid or a text/binary file plus a .meta file\n\t\tvar tiddlerType = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\tif(tiddlerType === \"text/vnd.tiddlywiki\") {\n\t\t\t// Save as a .tid file\n\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\tfileInfo.hasMetaFile = false;\n\t\t} else {\n\t\t\t// Save as a text/binary file and a .meta file\n\t\t\tfileInfo.type = tiddlerType;\n\t\t\tfileInfo.hasMetaFile = true;\n\t\t}\n\t\tif(options.extFilters) {\n\t\t\t// Check for extension override\n\t\t\tmetaExt = $tw.utils.generateTiddlerExtension(tiddler.fields.title,{\n\t\t\t\textFilters: options.extFilters,\n\t\t\t\twiki: options.wiki\n\t\t\t});\n\t\t\tif(metaExt){\n\t\t\t\tif(metaExt === \".tid\") {\n\t\t\t\t\t// Overriding to the .tid extension needs special handling\n\t\t\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\t\t\tfileInfo.hasMetaFile = false;\n\t\t\t\t} else if (metaExt === \".json\") {\n\t\t\t\t\t// Overriding to the .json extension needs special handling\n\t\t\t\t\tfileInfo.type = \"application/json\";\n\t\t\t\t\tfileInfo.hasMetaFile = false;\n\t\t\t\t} else {\n\t\t\t\t\t//If the new type matches a known extention, use that MIME type's encoding\n\t\t\t\t\tvar extInfo = $tw.utils.getFileExtensionInfo(metaExt);\n\t\t\t\t\tfileInfo.type = extInfo ? extInfo.type : null;\n\t\t\t\t\tfileInfo.encoding = $tw.utils.getTypeEncoding(metaExt);\n\t\t\t\t\tfileInfo.hasMetaFile = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Take the file extension from the tiddler content type or metaExt\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \"\"};\n\t// Generate the filepath\n\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\n\t\textension: metaExt || contentTypeInfo.extension,\n\t\tdirectory: options.directory,\n\t\tpathFilters: options.pathFilters,\n\t\twiki: options.wiki,\n\t\tfileInfo: options.fileInfo,\n\t\toriginalpath: options.originalpath\n\t});\n\treturn fileInfo;\n};\n\n/*\nGenerate the file extension for saving a tiddler\nOptions include:\n\textFilters: optional array of filters to be used to generate the extention\n\twiki: optional wiki for evaluating the extFilters\n*/\nexports.generateTiddlerExtension = function(title,options) {\n\tvar self = this,\n\t\textension;\n\t// Check if any of the extFilters applies\n\tif(options.extFilters && options.wiki) { \n\t\t$tw.utils.each(options.extFilters,function(filter) {\n\t\t\tif(!extension) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\textension = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn extension;\n};\n\n/*\nGenerate the filepath for saving a tiddler\nOptions include:\n\textension: file extension to be added the finished filepath\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n\tfileInfo: an existing fileInfo object to check against\n*/\nexports.generateTiddlerFilepath = function(title,options) {\n\tvar self = this,\n\t\tdirectory = options.directory || \"\",\n\t\textension = options.extension || \"\",\n\t\toriginalpath = options.originalpath || \"\",\n\t\tfilepath;\t\n\t// Check if any of the pathFilters applies\n\tif(options.pathFilters && options.wiki) {\n\t\t$tw.utils.each(options.pathFilters,function(filter) {\n\t\t\tif(!filepath) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\tfilepath = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tif(!filepath && originalpath !== \"\") {\n\t\t//Use the originalpath without the extension\n\t\tvar ext = path.extname(originalpath);\n\t\tfilepath = originalpath.substring(0,originalpath.length - ext.length);\n\t} else if(!filepath) {\n\t\tfilepath = title;\n\t\t// If the filepath already ends in the extension then remove it\n\t\tif(filepath.substring(filepath.length - extension.length) === extension) {\n\t\t\tfilepath = filepath.substring(0,filepath.length - extension.length);\n\t\t}\n\t\t// Remove any forward or backward slashes so we don't create directories\n\t\tfilepath = filepath.replace(/\\/|\\\\/g,\"_\");\n\t}\n\t//If the path does not start with \".\" or \"..\" and a path seperator, then\n\tif(!/^\\.{1,2}[/\\\\]/g.test(filepath)) {\n\t\t// Don't let the filename start with any dots because such files are invisible on *nix\n\t\tfilepath = filepath.replace(/^\\.+/g,\"_\");\n\t}\n\t// Remove any characters that can't be used in cross-platform filenames\n\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|~|\\:|\\\"|\\||\\?|\\*|\\^/g,\"_\"));\n\t// Truncate the filename if it is too long\n\tif(filepath.length > 200) {\n\t\tfilepath = filepath.substr(0,200);\n\t}\n\t// If the resulting filename is blank (eg because the title is just punctuation characters)\n\tif(!filepath) {\n\t\t// ...then just use the character codes of the title\n\t\tfilepath = \"\";\t\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tif(filepath) {\n\t\t\t\tfilepath += \"-\";\n\t\t\t}\n\t\t\tfilepath += char.charCodeAt(0).toString();\n\t\t});\n\t}\n\t// Add a uniquifier if the file already exists\n\tvar fullPath, oldPath = (options.fileInfo) ? options.fileInfo.filepath : undefined,\n\t\tcount = 0;\n\tdo {\n\t\tfullPath = path.resolve(directory,filepath + (count ? \"_\" + count : \"\") + extension);\n\t\tif(oldPath && oldPath == fullPath) {\n\t\t\tbreak;\n\t\t}\n\t\tcount++;\n\t} while(fs.existsSync(fullPath));\n\t// If the last write failed with an error, or if path does not start with:\n\t//\tthe resolved options.directory, the resolved wikiPath directory, or the wikiTiddlersPath directory, \n\t//\tthen encodeURIComponent() and resolve to tiddler directory\n\tvar newPath = fullPath,\n\t\tencode = (options.fileInfo || {writeError: false}).writeError == true;\n\tif(!encode){\n\t\tencode = !(fullPath.indexOf(path.resolve(directory)) == 0 ||\n\t\t\tfullPath.indexOf(path.resolve($tw.boot.wikiPath)) == 0 ||\n\t\t\tfullPath.indexOf($tw.boot.wikiTiddlersPath) == 0);\n\t\t}\n\tif(encode){\n\t\tfullPath = path.resolve(directory, encodeURIComponent(fullPath));\n\t}\n\t// Call hook to allow plugins to modify the final path\n\tfullPath = $tw.hooks.invokeHook(\"th-make-tiddler-path\", newPath, fullPath);\n\t// Return the full path to the file\n\treturn fullPath;\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFile(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tfs.writeFile(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\",callback);\n\t\t});\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\",callback);\n\t\t} else {\n\t\t\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\",callback);\n\t\t}\n\t}\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text,typeInfo.encoding);\n\t\tfs.writeFileSync(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\");\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\");\n\t\t} else {\n\t\t\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t}\n\t}\n};\n\n/*\nDelete a file described by the fileInfo if it exits\n*/\nexports.deleteTiddlerFile = function(fileInfo, callback) {\n\t//Only attempt to delete files that exist on disk\n\tif(!fileInfo.filepath || !fs.existsSync(fileInfo.filepath)) {\n\t\treturn callback(null);\n\t}\n\t// Delete the file\n\tfs.unlink(fileInfo.filepath,function(err) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\t\n\t\t// Delete the metafile if present\n\t\tif(fileInfo.hasMetaFile && fs.existsSync(fileInfo.filepath + \".meta\")) {\n\t\t\tfs.unlink(fileInfo.filepath + \".meta\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),callback);\n\t\t\t});\n\t\t} else {\n\t\t\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),callback);\n\t\t}\n\t});\n};\n\n/*\nCleanup old files on disk, by comparing the options values:\n\tadaptorInfo from $tw.syncer.tiddlerInfo\n\tbootInfo from $tw.boot.files\n*/\nexports.cleanupTiddlerFiles = function(options, callback) {\n\tvar adaptorInfo = options.adaptorInfo || {},\n\tbootInfo = options.bootInfo || {},\n\ttitle = options.title || \"undefined\";\n\tif(adaptorInfo.filepath && bootInfo.filepath && adaptorInfo.filepath !== bootInfo.filepath) {\n\t\treturn $tw.utils.deleteTiddlerFile(adaptorInfo, function(err){\n\t\t\tif(err) {\n\t\t\t\tif ((err.code == \"EPERM\" || err.code == \"EACCES\") && err.syscall == \"unlink\") {\n\t\t\t\t\t// Error deleting the previous file on disk, should fail gracefully\n\t\t\t\t\t$tw.syncer.displayError(\"Server desynchronized. Error cleaning up previous file for tiddler: \"+title, err);\n\t\t\t\t\treturn callback(null);\n\t\t\t\t} else {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn callback(null);\n\t\t});\n\t} else {\n\t\treturn callback(null);\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/linkedlist.js": {
"title": "$:/core/modules/utils/linkedlist.js",
"text": "/*\\\nmodule-type: utils\ntitle: $:/core/modules/utils/linkedlist.js\ntype: application/javascript\n\nThis is a doubly-linked indexed list intended for manipulation, particularly\npushTop, which it does with significantly better performance than an array.\n\n\\*/\n(function(){\n\nfunction LinkedList() {\n\tthis.clear();\n};\n\nLinkedList.prototype.clear = function() {\n\tthis.index = Object.create(null);\n\t// LinkedList performs the duty of both the head and tail node\n\tthis.next = this;\n\tthis.prev = this;\n\tthis.length = 0;\n};\n\nLinkedList.prototype.remove = function(value) {\n\tif($tw.utils.isArray(value)) {\n\t\tfor(var t=0; t<value.length; t++) {\n\t\t\t_removeOne(this,value[t]);\n\t\t}\n\t} else {\n\t\t_removeOne(this,value);\n\t}\n};\n\nLinkedList.prototype.push = function(/* values */) {\n\tfor(var i = 0; i < arguments.length; i++) {\n\t\tvar value = arguments[i];\n\t\tvar node = {value: value};\n\t\tvar preexistingNode = this.index[value];\n\t\t_linkToEnd(this,node);\n\t\tif(preexistingNode) {\n\t\t\t// We want to keep pointing to the first instance, but we want\n\t\t\t// to have that instance (or chain of instances) point to the\n\t\t\t// new one.\n\t\t\twhile (preexistingNode.copy) {\n\t\t\t\tpreexistingNode = preexistingNode.copy;\n\t\t\t}\n\t\t\tpreexistingNode.copy = node;\n\t\t} else {\n\t\t\tthis.index[value] = node;\n\t\t}\n\t}\n};\n\nLinkedList.prototype.pushTop = function(value) {\n\tif($tw.utils.isArray(value)) {\n\t\tfor(var t=0; t<value.length; t++) {\n\t\t\t_removeOne(this,value[t]);\n\t\t}\n\t\tthis.push.apply(this,value);\n\t} else {\n\t\tvar node = _removeOne(this,value);\n\t\tif(!node) {\n\t\t\tnode = {value: value};\n\t\t\tthis.index[value] = node;\n\t\t} else {\n\t\t\t// Put this node at the end of the copy chain.\n\t\t\tvar preexistingNode = node;\n\t\t\twhile(preexistingNode.copy) {\n\t\t\t\tpreexistingNode = preexistingNode.copy;\n\t\t\t}\n\t\t\t// The order of these three statements is important,\n\t\t\t// because sometimes preexistingNode == node.\n\t\t\tpreexistingNode.copy = node;\n\t\t\tthis.index[value] = node.copy;\n\t\t\tnode.copy = undefined;\n\t\t}\n\t\t_linkToEnd(this,node);\n\t}\n};\n\nLinkedList.prototype.each = function(callback) {\n\tfor(var ptr = this.next; ptr !== this; ptr = ptr.next) {\n\t\tcallback(ptr.value);\n\t}\n};\n\nLinkedList.prototype.toArray = function() {\n\tvar output = [];\n\tfor(var ptr = this.next; ptr !== this; ptr = ptr.next) {\n\t\toutput.push(ptr.value);\n\t}\n\treturn output;\n};\n\nfunction _removeOne(list,value) {\n\tvar node = list.index[value];\n\tif(node) {\n\t\tnode.prev.next = node.next;\n\t\tnode.next.prev = node.prev;\n\t\tlist.length -= 1;\n\t\t// Point index to the next instance of the same value, maybe nothing.\n\t\tlist.index[value] = node.copy;\n\t}\n\treturn node;\n};\n\nfunction _linkToEnd(list,node) {\n\t// Sticks the given node onto the end of the list.\n\tlist.prev.next = node;\n\tnode.prev = list.prev;\n\tlist.prev = node;\n\tnode.next = list;\n\tlist.length += 1;\n};\n\nexports.LinkedList = LinkedList;\n\n})();\n",
"module-type": "utils",
"type": "application/javascript"
},
"$:/core/modules/utils/logger.js": {
"title": "$:/core/modules/utils/logger.js",
"text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName,options) {\n\toptions = options || {};\n\tthis.componentName = componentName || \"\";\n\tthis.colour = options.colour || \"white\";\n\tthis.enable = \"enable\" in options ? options.enable : true;\n\tthis.save = \"save\" in options ? options.save : true;\n\tthis.saveLimit = options.saveLimit || 100 * 1024;\n\tthis.saveBufferLogger = this;\n\tthis.buffer = \"\";\n\tthis.alertCount = 0;\n}\n\nLogger.prototype.setSaveBuffer = function(logger) {\n\tthis.saveBufferLogger = logger;\n};\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tvar self = this;\n\tif(this.enable) {\n\t\tif(this.saveBufferLogger.save) {\n\t\t\tthis.saveBufferLogger.buffer += $tw.utils.formatDateString(new Date(),\"YYYY MM DD 0hh:0mm:0ss.0XXX\") + \":\";\n\t\t\t$tw.utils.each(Array.prototype.slice.call(arguments,0),function(arg,index) {\n\t\t\t\tself.saveBufferLogger.buffer += \" \" + arg;\n\t\t\t});\n\t\t\tthis.saveBufferLogger.buffer += \"\\n\";\n\t\t\tthis.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);\t\t\t\n\t\t}\n\t\tif(console !== undefined && console.log !== undefined) {\n\t\t\treturn Function.apply.call(console.log, console, [$tw.utils.terminalColour(this.colour),this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()));\n\t\t}\n\t} \n};\n\n/*\nRead the message buffer\n*/\nLogger.prototype.getBuffer = function() {\n\treturn this.saveBufferLogger.buffer;\n};\n\n/*\nLog a structure as a table\n*/\nLogger.prototype.table = function(value) {\n\t(console.table || console.log)(value);\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\tif(this.enable) {\n\t\t// Prepare the text of the alert\n\t\tvar text = Array.prototype.join.call(arguments,\" \");\n\t\t// Create alert tiddlers in the browser\n\t\tif($tw.browser) {\n\t\t\t// Check if there is an existing alert with the same text and the same component\n\t\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\t\talertFields,\n\t\t\t\texistingCount,\n\t\t\t\tself = this;\n\t\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(alertFields) {\n\t\t\t\texistingCount = alertFields.count || 1;\n\t\t\t} else {\n\t\t\t\talertFields = {\n\t\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\t\ttext: text,\n\t\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\t\tcomponent: this.componentName\n\t\t\t\t};\n\t\t\t\texistingCount = 0;\n\t\t\t\tthis.alertCount += 1;\n\t\t\t}\n\t\t\talertFields.modified = new Date();\n\t\t\tif(++existingCount > 1) {\n\t\t\t\talertFields.count = existingCount;\n\t\t\t} else {\n\t\t\t\talertFields.count = undefined;\n\t\t\t}\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t\t// Log the alert as well\n\t\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\t// Print an orange message to the console if not in the browser\n\t\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t\t}\t\t\n\t}\n};\n\n/*\nClear outstanding alerts\n*/\nLogger.prototype.clearAlerts = function() {\n\tvar self = this;\n\tif($tw.browser && this.alertCount > 0) {\n\t\t$tw.utils.each($tw.wiki.getTiddlersWithTag(ALERT_TAG),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.component === self.componentName) {\n\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t}\n\t\t});\n\t\tthis.alertCount = 0;\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/parsetree.js": {
"title": "$:/core/modules/utils/parsetree.js",
"text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/performance.js": {
"title": "$:/core/modules/utils/performance.js",
"text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n\tthis.showGreeting();\n}\n\nPerformance.prototype.showGreeting = function() {\n\tif($tw.browser) {\n\t\tthis.logger.log(\"Execute $tw.perf.log(); to see filter execution timings\");\t\t\n\t}\n};\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nPerformance.prototype.log = function() {\n\tvar self = this,\n\t\ttotalTime = 0,\n\t\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\n\t\t\tif(self.measures[a].time > self.measures[b].time) {\n\t\t\t\treturn -1;\n\t\t\t} else if (self.measures[a].time < self.measures[b].time) {\n\t\t\t\treturn + 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t});\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\ttotalTime += self.measures[name].time;\n\t});\n\tvar results = []\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\tvar measure = self.measures[name];\n\t\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100})\n\t});\n\tself.logger.table(results);\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tif(!(name in self.measures)) {\n\t\t\t\tself.measures[name] = {time: 0, invocations: 0};\n\t\t\t}\n\t\t\tself.measures[name].time += $tw.utils.timer(startTime);\n\t\t\tself.measures[name].invocations++;\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/pluginmaker.js": {
"title": "$:/core/modules/utils/pluginmaker.js",
"text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/transliterate.js": {
"title": "$:/core/modules/utils/transliterate.js",
"text": "/*\\\ntitle: $:/core/modules/utils/transliterate.js\ntype: application/javascript\nmodule-type: utils\n\nTransliteration static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nTransliterate string to ASCII\n\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\n*/\nexports.transliterationPairs = {\n\t\"Á\":\"A\",\n\t\"Ă\":\"A\",\n\t\"Ắ\":\"A\",\n\t\"Ặ\":\"A\",\n\t\"Ằ\":\"A\",\n\t\"Ẳ\":\"A\",\n\t\"Ẵ\":\"A\",\n\t\"Ǎ\":\"A\",\n\t\"Â\":\"A\",\n\t\"Ấ\":\"A\",\n\t\"Ậ\":\"A\",\n\t\"Ầ\":\"A\",\n\t\"Ẩ\":\"A\",\n\t\"Ẫ\":\"A\",\n\t\"Ä\":\"A\",\n\t\"Ǟ\":\"A\",\n\t\"Ȧ\":\"A\",\n\t\"Ǡ\":\"A\",\n\t\"Ạ\":\"A\",\n\t\"Ȁ\":\"A\",\n\t\"À\":\"A\",\n\t\"Ả\":\"A\",\n\t\"Ȃ\":\"A\",\n\t\"Ā\":\"A\",\n\t\"Ą\":\"A\",\n\t\"Å\":\"A\",\n\t\"Ǻ\":\"A\",\n\t\"Ḁ\":\"A\",\n\t\"Ⱥ\":\"A\",\n\t\"Ã\":\"A\",\n\t\"Ꜳ\":\"AA\",\n\t\"Æ\":\"AE\",\n\t\"Ǽ\":\"AE\",\n\t\"Ǣ\":\"AE\",\n\t\"Ꜵ\":\"AO\",\n\t\"Ꜷ\":\"AU\",\n\t\"Ꜹ\":\"AV\",\n\t\"Ꜻ\":\"AV\",\n\t\"Ꜽ\":\"AY\",\n\t\"Ḃ\":\"B\",\n\t\"Ḅ\":\"B\",\n\t\"Ɓ\":\"B\",\n\t\"Ḇ\":\"B\",\n\t\"Ƀ\":\"B\",\n\t\"Ƃ\":\"B\",\n\t\"Ć\":\"C\",\n\t\"Č\":\"C\",\n\t\"Ç\":\"C\",\n\t\"Ḉ\":\"C\",\n\t\"Ĉ\":\"C\",\n\t\"Ċ\":\"C\",\n\t\"Ƈ\":\"C\",\n\t\"Ȼ\":\"C\",\n\t\"Ď\":\"D\",\n\t\"Ḑ\":\"D\",\n\t\"Ḓ\":\"D\",\n\t\"Ḋ\":\"D\",\n\t\"Ḍ\":\"D\",\n\t\"Ɗ\":\"D\",\n\t\"Ḏ\":\"D\",\n\t\"Dz\":\"D\",\n\t\"Dž\":\"D\",\n\t\"Đ\":\"D\",\n\t\"Ƌ\":\"D\",\n\t\"DZ\":\"DZ\",\n\t\"DŽ\":\"DZ\",\n\t\"É\":\"E\",\n\t\"Ĕ\":\"E\",\n\t\"Ě\":\"E\",\n\t\"Ȩ\":\"E\",\n\t\"Ḝ\":\"E\",\n\t\"Ê\":\"E\",\n\t\"Ế\":\"E\",\n\t\"Ệ\":\"E\",\n\t\"Ề\":\"E\",\n\t\"Ể\":\"E\",\n\t\"Ễ\":\"E\",\n\t\"Ḙ\":\"E\",\n\t\"Ë\":\"E\",\n\t\"Ė\":\"E\",\n\t\"Ẹ\":\"E\",\n\t\"Ȅ\":\"E\",\n\t\"È\":\"E\",\n\t\"Ẻ\":\"E\",\n\t\"Ȇ\":\"E\",\n\t\"Ē\":\"E\",\n\t\"Ḗ\":\"E\",\n\t\"Ḕ\":\"E\",\n\t\"Ę\":\"E\",\n\t\"Ɇ\":\"E\",\n\t\"Ẽ\":\"E\",\n\t\"Ḛ\":\"E\",\n\t\"Ꝫ\":\"ET\",\n\t\"Ḟ\":\"F\",\n\t\"Ƒ\":\"F\",\n\t\"Ǵ\":\"G\",\n\t\"Ğ\":\"G\",\n\t\"Ǧ\":\"G\",\n\t\"Ģ\":\"G\",\n\t\"Ĝ\":\"G\",\n\t\"Ġ\":\"G\",\n\t\"Ɠ\":\"G\",\n\t\"Ḡ\":\"G\",\n\t\"Ǥ\":\"G\",\n\t\"Ḫ\":\"H\",\n\t\"Ȟ\":\"H\",\n\t\"Ḩ\":\"H\",\n\t\"Ĥ\":\"H\",\n\t\"Ⱨ\":\"H\",\n\t\"Ḧ\":\"H\",\n\t\"Ḣ\":\"H\",\n\t\"Ḥ\":\"H\",\n\t\"Ħ\":\"H\",\n\t\"Í\":\"I\",\n\t\"Ĭ\":\"I\",\n\t\"Ǐ\":\"I\",\n\t\"Î\":\"I\",\n\t\"Ï\":\"I\",\n\t\"Ḯ\":\"I\",\n\t\"İ\":\"I\",\n\t\"Ị\":\"I\",\n\t\"Ȉ\":\"I\",\n\t\"Ì\":\"I\",\n\t\"Ỉ\":\"I\",\n\t\"Ȋ\":\"I\",\n\t\"Ī\":\"I\",\n\t\"Į\":\"I\",\n\t\"Ɨ\":\"I\",\n\t\"Ĩ\":\"I\",\n\t\"Ḭ\":\"I\",\n\t\"Ꝺ\":\"D\",\n\t\"Ꝼ\":\"F\",\n\t\"Ᵹ\":\"G\",\n\t\"Ꞃ\":\"R\",\n\t\"Ꞅ\":\"S\",\n\t\"Ꞇ\":\"T\",\n\t\"Ꝭ\":\"IS\",\n\t\"Ĵ\":\"J\",\n\t\"Ɉ\":\"J\",\n\t\"Ḱ\":\"K\",\n\t\"Ǩ\":\"K\",\n\t\"Ķ\":\"K\",\n\t\"Ⱪ\":\"K\",\n\t\"Ꝃ\":\"K\",\n\t\"Ḳ\":\"K\",\n\t\"Ƙ\":\"K\",\n\t\"Ḵ\":\"K\",\n\t\"Ꝁ\":\"K\",\n\t\"Ꝅ\":\"K\",\n\t\"Ĺ\":\"L\",\n\t\"Ƚ\":\"L\",\n\t\"Ľ\":\"L\",\n\t\"Ļ\":\"L\",\n\t\"Ḽ\":\"L\",\n\t\"Ḷ\":\"L\",\n\t\"Ḹ\":\"L\",\n\t\"Ⱡ\":\"L\",\n\t\"Ꝉ\":\"L\",\n\t\"Ḻ\":\"L\",\n\t\"Ŀ\":\"L\",\n\t\"Ɫ\":\"L\",\n\t\"Lj\":\"L\",\n\t\"Ł\":\"L\",\n\t\"LJ\":\"LJ\",\n\t\"Ḿ\":\"M\",\n\t\"Ṁ\":\"M\",\n\t\"Ṃ\":\"M\",\n\t\"Ɱ\":\"M\",\n\t\"Ń\":\"N\",\n\t\"Ň\":\"N\",\n\t\"Ņ\":\"N\",\n\t\"Ṋ\":\"N\",\n\t\"Ṅ\":\"N\",\n\t\"Ṇ\":\"N\",\n\t\"Ǹ\":\"N\",\n\t\"Ɲ\":\"N\",\n\t\"Ṉ\":\"N\",\n\t\"Ƞ\":\"N\",\n\t\"Nj\":\"N\",\n\t\"Ñ\":\"N\",\n\t\"NJ\":\"NJ\",\n\t\"Ó\":\"O\",\n\t\"Ŏ\":\"O\",\n\t\"Ǒ\":\"O\",\n\t\"Ô\":\"O\",\n\t\"Ố\":\"O\",\n\t\"Ộ\":\"O\",\n\t\"Ồ\":\"O\",\n\t\"Ổ\":\"O\",\n\t\"Ỗ\":\"O\",\n\t\"Ö\":\"O\",\n\t\"Ȫ\":\"O\",\n\t\"Ȯ\":\"O\",\n\t\"Ȱ\":\"O\",\n\t\"Ọ\":\"O\",\n\t\"Ő\":\"O\",\n\t\"Ȍ\":\"O\",\n\t\"Ò\":\"O\",\n\t\"Ỏ\":\"O\",\n\t\"Ơ\":\"O\",\n\t\"Ớ\":\"O\",\n\t\"Ợ\":\"O\",\n\t\"Ờ\":\"O\",\n\t\"Ở\":\"O\",\n\t\"Ỡ\":\"O\",\n\t\"Ȏ\":\"O\",\n\t\"Ꝋ\":\"O\",\n\t\"Ꝍ\":\"O\",\n\t\"Ō\":\"O\",\n\t\"Ṓ\":\"O\",\n\t\"Ṑ\":\"O\",\n\t\"Ɵ\":\"O\",\n\t\"Ǫ\":\"O\",\n\t\"Ǭ\":\"O\",\n\t\"Ø\":\"O\",\n\t\"Ǿ\":\"O\",\n\t\"Õ\":\"O\",\n\t\"Ṍ\":\"O\",\n\t\"Ṏ\":\"O\",\n\t\"Ȭ\":\"O\",\n\t\"Ƣ\":\"OI\",\n\t\"Ꝏ\":\"OO\",\n\t\"Ɛ\":\"E\",\n\t\"Ɔ\":\"O\",\n\t\"Ȣ\":\"OU\",\n\t\"Ṕ\":\"P\",\n\t\"Ṗ\":\"P\",\n\t\"Ꝓ\":\"P\",\n\t\"Ƥ\":\"P\",\n\t\"Ꝕ\":\"P\",\n\t\"Ᵽ\":\"P\",\n\t\"Ꝑ\":\"P\",\n\t\"Ꝙ\":\"Q\",\n\t\"Ꝗ\":\"Q\",\n\t\"Ŕ\":\"R\",\n\t\"Ř\":\"R\",\n\t\"Ŗ\":\"R\",\n\t\"Ṙ\":\"R\",\n\t\"Ṛ\":\"R\",\n\t\"Ṝ\":\"R\",\n\t\"Ȑ\":\"R\",\n\t\"Ȓ\":\"R\",\n\t\"Ṟ\":\"R\",\n\t\"Ɍ\":\"R\",\n\t\"Ɽ\":\"R\",\n\t\"Ꜿ\":\"C\",\n\t\"Ǝ\":\"E\",\n\t\"Ś\":\"S\",\n\t\"Ṥ\":\"S\",\n\t\"Š\":\"S\",\n\t\"Ṧ\":\"S\",\n\t\"Ş\":\"S\",\n\t\"Ŝ\":\"S\",\n\t\"Ș\":\"S\",\n\t\"Ṡ\":\"S\",\n\t\"Ṣ\":\"S\",\n\t\"Ṩ\":\"S\",\n\t\"Ť\":\"T\",\n\t\"Ţ\":\"T\",\n\t\"Ṱ\":\"T\",\n\t\"Ț\":\"T\",\n\t\"Ⱦ\":\"T\",\n\t\"Ṫ\":\"T\",\n\t\"Ṭ\":\"T\",\n\t\"Ƭ\":\"T\",\n\t\"Ṯ\":\"T\",\n\t\"Ʈ\":\"T\",\n\t\"Ŧ\":\"T\",\n\t\"Ɐ\":\"A\",\n\t\"Ꞁ\":\"L\",\n\t\"Ɯ\":\"M\",\n\t\"Ʌ\":\"V\",\n\t\"Ꜩ\":\"TZ\",\n\t\"Ú\":\"U\",\n\t\"Ŭ\":\"U\",\n\t\"Ǔ\":\"U\",\n\t\"Û\":\"U\",\n\t\"Ṷ\":\"U\",\n\t\"Ü\":\"U\",\n\t\"Ǘ\":\"U\",\n\t\"Ǚ\":\"U\",\n\t\"Ǜ\":\"U\",\n\t\"Ǖ\":\"U\",\n\t\"Ṳ\":\"U\",\n\t\"Ụ\":\"U\",\n\t\"Ű\":\"U\",\n\t\"Ȕ\":\"U\",\n\t\"Ù\":\"U\",\n\t\"Ủ\":\"U\",\n\t\"Ư\":\"U\",\n\t\"Ứ\":\"U\",\n\t\"Ự\":\"U\",\n\t\"Ừ\":\"U\",\n\t\"Ử\":\"U\",\n\t\"Ữ\":\"U\",\n\t\"Ȗ\":\"U\",\n\t\"Ū\":\"U\",\n\t\"Ṻ\":\"U\",\n\t\"Ų\":\"U\",\n\t\"Ů\":\"U\",\n\t\"Ũ\":\"U\",\n\t\"Ṹ\":\"U\",\n\t\"Ṵ\":\"U\",\n\t\"Ꝟ\":\"V\",\n\t\"Ṿ\":\"V\",\n\t\"Ʋ\":\"V\",\n\t\"Ṽ\":\"V\",\n\t\"Ꝡ\":\"VY\",\n\t\"Ẃ\":\"W\",\n\t\"Ŵ\":\"W\",\n\t\"Ẅ\":\"W\",\n\t\"Ẇ\":\"W\",\n\t\"Ẉ\":\"W\",\n\t\"Ẁ\":\"W\",\n\t\"Ⱳ\":\"W\",\n\t\"Ẍ\":\"X\",\n\t\"Ẋ\":\"X\",\n\t\"Ý\":\"Y\",\n\t\"Ŷ\":\"Y\",\n\t\"Ÿ\":\"Y\",\n\t\"Ẏ\":\"Y\",\n\t\"Ỵ\":\"Y\",\n\t\"Ỳ\":\"Y\",\n\t\"Ƴ\":\"Y\",\n\t\"Ỷ\":\"Y\",\n\t\"Ỿ\":\"Y\",\n\t\"Ȳ\":\"Y\",\n\t\"Ɏ\":\"Y\",\n\t\"Ỹ\":\"Y\",\n\t\"Ź\":\"Z\",\n\t\"Ž\":\"Z\",\n\t\"Ẑ\":\"Z\",\n\t\"Ⱬ\":\"Z\",\n\t\"Ż\":\"Z\",\n\t\"Ẓ\":\"Z\",\n\t\"Ȥ\":\"Z\",\n\t\"Ẕ\":\"Z\",\n\t\"Ƶ\":\"Z\",\n\t\"IJ\":\"IJ\",\n\t\"Œ\":\"OE\",\n\t\"ᴀ\":\"A\",\n\t\"ᴁ\":\"AE\",\n\t\"ʙ\":\"B\",\n\t\"ᴃ\":\"B\",\n\t\"ᴄ\":\"C\",\n\t\"ᴅ\":\"D\",\n\t\"ᴇ\":\"E\",\n\t\"ꜰ\":\"F\",\n\t\"ɢ\":\"G\",\n\t\"ʛ\":\"G\",\n\t\"ʜ\":\"H\",\n\t\"ɪ\":\"I\",\n\t\"ʁ\":\"R\",\n\t\"ᴊ\":\"J\",\n\t\"ᴋ\":\"K\",\n\t\"ʟ\":\"L\",\n\t\"ᴌ\":\"L\",\n\t\"ᴍ\":\"M\",\n\t\"ɴ\":\"N\",\n\t\"ᴏ\":\"O\",\n\t\"ɶ\":\"OE\",\n\t\"ᴐ\":\"O\",\n\t\"ᴕ\":\"OU\",\n\t\"ᴘ\":\"P\",\n\t\"ʀ\":\"R\",\n\t\"ᴎ\":\"N\",\n\t\"ᴙ\":\"R\",\n\t\"ꜱ\":\"S\",\n\t\"ᴛ\":\"T\",\n\t\"ⱻ\":\"E\",\n\t\"ᴚ\":\"R\",\n\t\"ᴜ\":\"U\",\n\t\"ᴠ\":\"V\",\n\t\"ᴡ\":\"W\",\n\t\"ʏ\":\"Y\",\n\t\"ᴢ\":\"Z\",\n\t\"á\":\"a\",\n\t\"ă\":\"a\",\n\t\"ắ\":\"a\",\n\t\"ặ\":\"a\",\n\t\"ằ\":\"a\",\n\t\"ẳ\":\"a\",\n\t\"ẵ\":\"a\",\n\t\"ǎ\":\"a\",\n\t\"â\":\"a\",\n\t\"ấ\":\"a\",\n\t\"ậ\":\"a\",\n\t\"ầ\":\"a\",\n\t\"ẩ\":\"a\",\n\t\"ẫ\":\"a\",\n\t\"ä\":\"a\",\n\t\"ǟ\":\"a\",\n\t\"ȧ\":\"a\",\n\t\"ǡ\":\"a\",\n\t\"ạ\":\"a\",\n\t\"ȁ\":\"a\",\n\t\"à\":\"a\",\n\t\"ả\":\"a\",\n\t\"ȃ\":\"a\",\n\t\"ā\":\"a\",\n\t\"ą\":\"a\",\n\t\"ᶏ\":\"a\",\n\t\"ẚ\":\"a\",\n\t\"å\":\"a\",\n\t\"ǻ\":\"a\",\n\t\"ḁ\":\"a\",\n\t\"ⱥ\":\"a\",\n\t\"ã\":\"a\",\n\t\"ꜳ\":\"aa\",\n\t\"æ\":\"ae\",\n\t\"ǽ\":\"ae\",\n\t\"ǣ\":\"ae\",\n\t\"ꜵ\":\"ao\",\n\t\"ꜷ\":\"au\",\n\t\"ꜹ\":\"av\",\n\t\"ꜻ\":\"av\",\n\t\"ꜽ\":\"ay\",\n\t\"ḃ\":\"b\",\n\t\"ḅ\":\"b\",\n\t\"ɓ\":\"b\",\n\t\"ḇ\":\"b\",\n\t\"ᵬ\":\"b\",\n\t\"ᶀ\":\"b\",\n\t\"ƀ\":\"b\",\n\t\"ƃ\":\"b\",\n\t\"ɵ\":\"o\",\n\t\"ć\":\"c\",\n\t\"č\":\"c\",\n\t\"ç\":\"c\",\n\t\"ḉ\":\"c\",\n\t\"ĉ\":\"c\",\n\t\"ɕ\":\"c\",\n\t\"ċ\":\"c\",\n\t\"ƈ\":\"c\",\n\t\"ȼ\":\"c\",\n\t\"ď\":\"d\",\n\t\"ḑ\":\"d\",\n\t\"ḓ\":\"d\",\n\t\"ȡ\":\"d\",\n\t\"ḋ\":\"d\",\n\t\"ḍ\":\"d\",\n\t\"ɗ\":\"d\",\n\t\"ᶑ\":\"d\",\n\t\"ḏ\":\"d\",\n\t\"ᵭ\":\"d\",\n\t\"ᶁ\":\"d\",\n\t\"đ\":\"d\",\n\t\"ɖ\":\"d\",\n\t\"ƌ\":\"d\",\n\t\"ı\":\"i\",\n\t\"ȷ\":\"j\",\n\t\"ɟ\":\"j\",\n\t\"ʄ\":\"j\",\n\t\"dz\":\"dz\",\n\t\"dž\":\"dz\",\n\t\"é\":\"e\",\n\t\"ĕ\":\"e\",\n\t\"ě\":\"e\",\n\t\"ȩ\":\"e\",\n\t\"ḝ\":\"e\",\n\t\"ê\":\"e\",\n\t\"ế\":\"e\",\n\t\"ệ\":\"e\",\n\t\"ề\":\"e\",\n\t\"ể\":\"e\",\n\t\"ễ\":\"e\",\n\t\"ḙ\":\"e\",\n\t\"ë\":\"e\",\n\t\"ė\":\"e\",\n\t\"ẹ\":\"e\",\n\t\"ȅ\":\"e\",\n\t\"è\":\"e\",\n\t\"ẻ\":\"e\",\n\t\"ȇ\":\"e\",\n\t\"ē\":\"e\",\n\t\"ḗ\":\"e\",\n\t\"ḕ\":\"e\",\n\t\"ⱸ\":\"e\",\n\t\"ę\":\"e\",\n\t\"ᶒ\":\"e\",\n\t\"ɇ\":\"e\",\n\t\"ẽ\":\"e\",\n\t\"ḛ\":\"e\",\n\t\"ꝫ\":\"et\",\n\t\"ḟ\":\"f\",\n\t\"ƒ\":\"f\",\n\t\"ᵮ\":\"f\",\n\t\"ᶂ\":\"f\",\n\t\"ǵ\":\"g\",\n\t\"ğ\":\"g\",\n\t\"ǧ\":\"g\",\n\t\"ģ\":\"g\",\n\t\"ĝ\":\"g\",\n\t\"ġ\":\"g\",\n\t\"ɠ\":\"g\",\n\t\"ḡ\":\"g\",\n\t\"ᶃ\":\"g\",\n\t\"ǥ\":\"g\",\n\t\"ḫ\":\"h\",\n\t\"ȟ\":\"h\",\n\t\"ḩ\":\"h\",\n\t\"ĥ\":\"h\",\n\t\"ⱨ\":\"h\",\n\t\"ḧ\":\"h\",\n\t\"ḣ\":\"h\",\n\t\"ḥ\":\"h\",\n\t\"ɦ\":\"h\",\n\t\"ẖ\":\"h\",\n\t\"ħ\":\"h\",\n\t\"ƕ\":\"hv\",\n\t\"í\":\"i\",\n\t\"ĭ\":\"i\",\n\t\"ǐ\":\"i\",\n\t\"î\":\"i\",\n\t\"ï\":\"i\",\n\t\"ḯ\":\"i\",\n\t\"ị\":\"i\",\n\t\"ȉ\":\"i\",\n\t\"ì\":\"i\",\n\t\"ỉ\":\"i\",\n\t\"ȋ\":\"i\",\n\t\"ī\":\"i\",\n\t\"į\":\"i\",\n\t\"ᶖ\":\"i\",\n\t\"ɨ\":\"i\",\n\t\"ĩ\":\"i\",\n\t\"ḭ\":\"i\",\n\t\"ꝺ\":\"d\",\n\t\"ꝼ\":\"f\",\n\t\"ᵹ\":\"g\",\n\t\"ꞃ\":\"r\",\n\t\"ꞅ\":\"s\",\n\t\"ꞇ\":\"t\",\n\t\"ꝭ\":\"is\",\n\t\"ǰ\":\"j\",\n\t\"ĵ\":\"j\",\n\t\"ʝ\":\"j\",\n\t\"ɉ\":\"j\",\n\t\"ḱ\":\"k\",\n\t\"ǩ\":\"k\",\n\t\"ķ\":\"k\",\n\t\"ⱪ\":\"k\",\n\t\"ꝃ\":\"k\",\n\t\"ḳ\":\"k\",\n\t\"ƙ\":\"k\",\n\t\"ḵ\":\"k\",\n\t\"ᶄ\":\"k\",\n\t\"ꝁ\":\"k\",\n\t\"ꝅ\":\"k\",\n\t\"ĺ\":\"l\",\n\t\"ƚ\":\"l\",\n\t\"ɬ\":\"l\",\n\t\"ľ\":\"l\",\n\t\"ļ\":\"l\",\n\t\"ḽ\":\"l\",\n\t\"ȴ\":\"l\",\n\t\"ḷ\":\"l\",\n\t\"ḹ\":\"l\",\n\t\"ⱡ\":\"l\",\n\t\"ꝉ\":\"l\",\n\t\"ḻ\":\"l\",\n\t\"ŀ\":\"l\",\n\t\"ɫ\":\"l\",\n\t\"ᶅ\":\"l\",\n\t\"ɭ\":\"l\",\n\t\"ł\":\"l\",\n\t\"lj\":\"lj\",\n\t\"ſ\":\"s\",\n\t\"ẜ\":\"s\",\n\t\"ẛ\":\"s\",\n\t\"ẝ\":\"s\",\n\t\"ḿ\":\"m\",\n\t\"ṁ\":\"m\",\n\t\"ṃ\":\"m\",\n\t\"ɱ\":\"m\",\n\t\"ᵯ\":\"m\",\n\t\"ᶆ\":\"m\",\n\t\"ń\":\"n\",\n\t\"ň\":\"n\",\n\t\"ņ\":\"n\",\n\t\"ṋ\":\"n\",\n\t\"ȵ\":\"n\",\n\t\"ṅ\":\"n\",\n\t\"ṇ\":\"n\",\n\t\"ǹ\":\"n\",\n\t\"ɲ\":\"n\",\n\t\"ṉ\":\"n\",\n\t\"ƞ\":\"n\",\n\t\"ᵰ\":\"n\",\n\t\"ᶇ\":\"n\",\n\t\"ɳ\":\"n\",\n\t\"ñ\":\"n\",\n\t\"nj\":\"nj\",\n\t\"ó\":\"o\",\n\t\"ŏ\":\"o\",\n\t\"ǒ\":\"o\",\n\t\"ô\":\"o\",\n\t\"ố\":\"o\",\n\t\"ộ\":\"o\",\n\t\"ồ\":\"o\",\n\t\"ổ\":\"o\",\n\t\"ỗ\":\"o\",\n\t\"ö\":\"o\",\n\t\"ȫ\":\"o\",\n\t\"ȯ\":\"o\",\n\t\"ȱ\":\"o\",\n\t\"ọ\":\"o\",\n\t\"ő\":\"o\",\n\t\"ȍ\":\"o\",\n\t\"ò\":\"o\",\n\t\"ỏ\":\"o\",\n\t\"ơ\":\"o\",\n\t\"ớ\":\"o\",\n\t\"ợ\":\"o\",\n\t\"ờ\":\"o\",\n\t\"ở\":\"o\",\n\t\"ỡ\":\"o\",\n\t\"ȏ\":\"o\",\n\t\"ꝋ\":\"o\",\n\t\"ꝍ\":\"o\",\n\t\"ⱺ\":\"o\",\n\t\"ō\":\"o\",\n\t\"ṓ\":\"o\",\n\t\"ṑ\":\"o\",\n\t\"ǫ\":\"o\",\n\t\"ǭ\":\"o\",\n\t\"ø\":\"o\",\n\t\"ǿ\":\"o\",\n\t\"õ\":\"o\",\n\t\"ṍ\":\"o\",\n\t\"ṏ\":\"o\",\n\t\"ȭ\":\"o\",\n\t\"ƣ\":\"oi\",\n\t\"ꝏ\":\"oo\",\n\t\"ɛ\":\"e\",\n\t\"ᶓ\":\"e\",\n\t\"ɔ\":\"o\",\n\t\"ᶗ\":\"o\",\n\t\"ȣ\":\"ou\",\n\t\"ṕ\":\"p\",\n\t\"ṗ\":\"p\",\n\t\"ꝓ\":\"p\",\n\t\"ƥ\":\"p\",\n\t\"ᵱ\":\"p\",\n\t\"ᶈ\":\"p\",\n\t\"ꝕ\":\"p\",\n\t\"ᵽ\":\"p\",\n\t\"ꝑ\":\"p\",\n\t\"ꝙ\":\"q\",\n\t\"ʠ\":\"q\",\n\t\"ɋ\":\"q\",\n\t\"ꝗ\":\"q\",\n\t\"ŕ\":\"r\",\n\t\"ř\":\"r\",\n\t\"ŗ\":\"r\",\n\t\"ṙ\":\"r\",\n\t\"ṛ\":\"r\",\n\t\"ṝ\":\"r\",\n\t\"ȑ\":\"r\",\n\t\"ɾ\":\"r\",\n\t\"ᵳ\":\"r\",\n\t\"ȓ\":\"r\",\n\t\"ṟ\":\"r\",\n\t\"ɼ\":\"r\",\n\t\"ᵲ\":\"r\",\n\t\"ᶉ\":\"r\",\n\t\"ɍ\":\"r\",\n\t\"ɽ\":\"r\",\n\t\"ↄ\":\"c\",\n\t\"ꜿ\":\"c\",\n\t\"ɘ\":\"e\",\n\t\"ɿ\":\"r\",\n\t\"ś\":\"s\",\n\t\"ṥ\":\"s\",\n\t\"š\":\"s\",\n\t\"ṧ\":\"s\",\n\t\"ş\":\"s\",\n\t\"ŝ\":\"s\",\n\t\"ș\":\"s\",\n\t\"ṡ\":\"s\",\n\t\"ṣ\":\"s\",\n\t\"ṩ\":\"s\",\n\t\"ʂ\":\"s\",\n\t\"ᵴ\":\"s\",\n\t\"ᶊ\":\"s\",\n\t\"ȿ\":\"s\",\n\t\"ɡ\":\"g\",\n\t\"ᴑ\":\"o\",\n\t\"ᴓ\":\"o\",\n\t\"ᴝ\":\"u\",\n\t\"ť\":\"t\",\n\t\"ţ\":\"t\",\n\t\"ṱ\":\"t\",\n\t\"ț\":\"t\",\n\t\"ȶ\":\"t\",\n\t\"ẗ\":\"t\",\n\t\"ⱦ\":\"t\",\n\t\"ṫ\":\"t\",\n\t\"ṭ\":\"t\",\n\t\"ƭ\":\"t\",\n\t\"ṯ\":\"t\",\n\t\"ᵵ\":\"t\",\n\t\"ƫ\":\"t\",\n\t\"ʈ\":\"t\",\n\t\"ŧ\":\"t\",\n\t\"ᵺ\":\"th\",\n\t\"ɐ\":\"a\",\n\t\"ᴂ\":\"ae\",\n\t\"ǝ\":\"e\",\n\t\"ᵷ\":\"g\",\n\t\"ɥ\":\"h\",\n\t\"ʮ\":\"h\",\n\t\"ʯ\":\"h\",\n\t\"ᴉ\":\"i\",\n\t\"ʞ\":\"k\",\n\t\"ꞁ\":\"l\",\n\t\"ɯ\":\"m\",\n\t\"ɰ\":\"m\",\n\t\"ᴔ\":\"oe\",\n\t\"ɹ\":\"r\",\n\t\"ɻ\":\"r\",\n\t\"ɺ\":\"r\",\n\t\"ⱹ\":\"r\",\n\t\"ʇ\":\"t\",\n\t\"ʌ\":\"v\",\n\t\"ʍ\":\"w\",\n\t\"ʎ\":\"y\",\n\t\"ꜩ\":\"tz\",\n\t\"ú\":\"u\",\n\t\"ŭ\":\"u\",\n\t\"ǔ\":\"u\",\n\t\"û\":\"u\",\n\t\"ṷ\":\"u\",\n\t\"ü\":\"u\",\n\t\"ǘ\":\"u\",\n\t\"ǚ\":\"u\",\n\t\"ǜ\":\"u\",\n\t\"ǖ\":\"u\",\n\t\"ṳ\":\"u\",\n\t\"ụ\":\"u\",\n\t\"ű\":\"u\",\n\t\"ȕ\":\"u\",\n\t\"ù\":\"u\",\n\t\"ủ\":\"u\",\n\t\"ư\":\"u\",\n\t\"ứ\":\"u\",\n\t\"ự\":\"u\",\n\t\"ừ\":\"u\",\n\t\"ử\":\"u\",\n\t\"ữ\":\"u\",\n\t\"ȗ\":\"u\",\n\t\"ū\":\"u\",\n\t\"ṻ\":\"u\",\n\t\"ų\":\"u\",\n\t\"ᶙ\":\"u\",\n\t\"ů\":\"u\",\n\t\"ũ\":\"u\",\n\t\"ṹ\":\"u\",\n\t\"ṵ\":\"u\",\n\t\"ᵫ\":\"ue\",\n\t\"ꝸ\":\"um\",\n\t\"ⱴ\":\"v\",\n\t\"ꝟ\":\"v\",\n\t\"ṿ\":\"v\",\n\t\"ʋ\":\"v\",\n\t\"ᶌ\":\"v\",\n\t\"ⱱ\":\"v\",\n\t\"ṽ\":\"v\",\n\t\"ꝡ\":\"vy\",\n\t\"ẃ\":\"w\",\n\t\"ŵ\":\"w\",\n\t\"ẅ\":\"w\",\n\t\"ẇ\":\"w\",\n\t\"ẉ\":\"w\",\n\t\"ẁ\":\"w\",\n\t\"ⱳ\":\"w\",\n\t\"ẘ\":\"w\",\n\t\"ẍ\":\"x\",\n\t\"ẋ\":\"x\",\n\t\"ᶍ\":\"x\",\n\t\"ý\":\"y\",\n\t\"ŷ\":\"y\",\n\t\"ÿ\":\"y\",\n\t\"ẏ\":\"y\",\n\t\"ỵ\":\"y\",\n\t\"ỳ\":\"y\",\n\t\"ƴ\":\"y\",\n\t\"ỷ\":\"y\",\n\t\"ỿ\":\"y\",\n\t\"ȳ\":\"y\",\n\t\"ẙ\":\"y\",\n\t\"ɏ\":\"y\",\n\t\"ỹ\":\"y\",\n\t\"ź\":\"z\",\n\t\"ž\":\"z\",\n\t\"ẑ\":\"z\",\n\t\"ʑ\":\"z\",\n\t\"ⱬ\":\"z\",\n\t\"ż\":\"z\",\n\t\"ẓ\":\"z\",\n\t\"ȥ\":\"z\",\n\t\"ẕ\":\"z\",\n\t\"ᵶ\":\"z\",\n\t\"ᶎ\":\"z\",\n\t\"ʐ\":\"z\",\n\t\"ƶ\":\"z\",\n\t\"ɀ\":\"z\",\n\t\"ff\":\"ff\",\n\t\"ffi\":\"ffi\",\n\t\"ffl\":\"ffl\",\n\t\"fi\":\"fi\",\n\t\"fl\":\"fl\",\n\t\"ij\":\"ij\",\n\t\"œ\":\"oe\",\n\t\"st\":\"st\",\n\t\"ₐ\":\"a\",\n\t\"ₑ\":\"e\",\n\t\"ᵢ\":\"i\",\n\t\"ⱼ\":\"j\",\n\t\"ₒ\":\"o\",\n\t\"ᵣ\":\"r\",\n\t\"ᵤ\":\"u\",\n\t\"ᵥ\":\"v\",\n\t\"ₓ\":\"x\",\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.replace(/[^A-Za-z0-9\\[\\] ]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || ch\n\t});\n};\n\nexports.transliterateToSafeASCII = function(str) {\n\treturn str.replace(/[^\\x00-\\x7F]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || \"\"\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/utils.js": {
"title": "$:/core/modules/utils/utils.js",
"text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar base64utf8 = require(\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\");\n\n/*\nDisplay a message, in colour if we're on a terminal\n*/\nexports.log = function(text,colour) {\n\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\n};\n\nexports.terminalColour = function(colour) {\n\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\n\t\tif(colour) {\n\t\t\tvar code = exports.terminalColourLookup[colour];\n\t\t\tif(code) {\n\t\t\t\treturn \"\\x1b[\" + code + \"m\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\\x1b[0m\"; // Cancel colour\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexports.terminalColourLookup = {\n\t\"black\": \"0;30\",\n\t\"red\": \"0;31\",\n\t\"green\": \"0;32\",\n\t\"brown/orange\": \"0;33\",\n\t\"blue\": \"0;34\",\n\t\"purple\": \"0;35\",\n\t\"cyan\": \"0;36\",\n\t\"light gray\": \"0;37\"\n};\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\texports.log(text,\"brown/orange\");\n};\n\n/*\nLog a table of name: value pairs\n*/\nexports.logTable = function(data) {\n\tif(console.table) {\n\t\tconsole.table(data);\n\t} else {\n\t\t$tw.utils.each(data,function(value,name) {\n\t\t\tconsole.log(name + \": \" + value);\n\t\t});\n\t}\n}\n\n/*\nReturn the integer represented by the str (string).\nReturn the dflt (default) parameter if str is not a base-10 number.\n*/\nexports.getInt = function(str,deflt) {\n\tvar i = parseInt(str,10);\n\treturn isNaN(i) ? deflt : i;\n}\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\nexports.trimPrefix = function(str,unwanted) {\n\tif(typeof str === \"string\" && typeof unwanted === \"string\") {\n\t\tif(unwanted === \"\") {\n\t\t\treturn str.replace(/^\\s\\s*/, '');\n\t\t} else {\n\t\t\t// Safely regexp-escape the unwanted text\n\t\t\tunwanted = unwanted.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t\t\tvar regex = new RegExp('^(' + unwanted + ')+');\n\t\t\treturn str.replace(regex, '');\n\t\t}\n\t} else {\n\t\treturn str;\n\t}\n};\n\nexports.trimSuffix = function(str,unwanted) {\n\tif(typeof str === \"string\" && typeof unwanted === \"string\") {\n\t\tif(unwanted === \"\") {\n\t\t\treturn str.replace(/\\s\\s*$/, '');\n\t\t} else {\n\t\t\t// Safely regexp-escape the unwanted text\n\t\t\tunwanted = unwanted.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t\t\tvar regex = new RegExp('(' + unwanted + ')+$');\n\t\t\treturn str.replace(regex, '');\n\t\t}\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nConvert a string to sentence case (ie capitalise first letter)\n*/\nexports.toSentenceCase = function(str) {\n\treturn (str || \"\").replace(/^\\S/, function(c) {return c.toUpperCase();});\n}\n\n/*\nConvert a string to title case (ie capitalise each initial letter)\n*/\nexports.toTitleCase = function(str) {\n\treturn (str || \"\").replace(/(^|\\s)\\S/g, function(c) {return c.toUpperCase();});\n}\n\t\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nDetermine whether an array-item is an object-property\n*/\nexports.hopArray = function(object,array) {\n\tfor(var i=0; i<array.length; i++) {\n\t\tif($tw.utils.hop(object,array[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date),4);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear(),4);\n\t\t\t}],\n\t\t\t[/^aYYYY/, function() {\n\t\t\t\treturn $tw.utils.pad(Math.abs(date.getFullYear()),4);\n\t\t\t}],\n\t\t\t[/^\\{era:([^,\\|}]*)\\|([^}\\|]*)\\|([^}]*)\\}/, function(match) {\n\t\t\t\tvar year = date.getFullYear();\n\t\t\t\treturn year === 0 ? match[2] : (year < 0 ? match[1] : match[3]);\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0XXX/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMilliseconds(),3);\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^XXX/, function() {\n\t\t\t\treturn date.getMilliseconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\t// If the user wants everything in UTC, shift the datestamp\n\t// Optimize for format string that essentially means\n\t// 'return raw UTC (tiddlywiki style) date string.'\n\tif(t.indexOf(\"[UTC]\") == 0 ) {\n\t\tif(t == \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")\n\t\t\treturn $tw.utils.stringifyDate(new Date());\n\t\tvar offset = date.getTimezoneOffset() ; // in minutes\n\t\tdate = new Date(date.getTime()+offset*60*1000) ;\n\t\tt = t.substr(5) ;\n\t}\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call(null,match);\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\", \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2), // Strip the & and the ;\n\t\tc;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\tc = parseInt(e.substr(2),16);\n\t\t} else {\n\t\t\tc = parseInt(e.substr(1),10);\n\t\t}\n\t\tif(isNaN(c)) {\n\t\t\treturn s;\n\t\t} else {\n\t\t\treturn converter(c);\n\t\t}\n\t} else {\n\t\tc = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s, rawUnicode) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\tvar regex = rawUnicode ? /[\\x00-\\x1f]/g : /[\\x00-\\x1f\\x80-\\uFFFF]/g;\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(regex, exports.escape); // non-ASCII characters\n};\n\n// Turns a string into a legal JSON string\n// Derived from peg.js, thanks to David Majda\nexports.jsonStringify = function(s, rawUnicode) {\n\t// See http://www.json.org/\n\tvar regex = rawUnicode ? /[\\x00-\\x1f]/g : /[\\x00-\\x1f\\x80-\\uFFFF]/g;\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/\\x08/g, '\\\\b') // backspace\n\t\t.replace(/\\x0c/g, '\\\\f') // formfeed\n\t\t.replace(/\\t/g, '\\\\t') // tab\n\t\t.replace(regex,function(s) {\n\t\t\treturn '\\\\u' + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\n\t\t}); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10) || 0;\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\treturn base64utf8.base64.decode.call(base64utf8,string64);\n};\n\n/*\nEncode a string to base64\n*/\nexports.base64Encode = function(string64) {\n\treturn base64utf8.base64.encode.call(base64utf8,string64);\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type,_canonical_uri) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tif(_canonical_uri) {\n\t\tparts.push(_canonical_uri);\n\t} else {\n\t\tparts.push(\"data:\");\n\t\tparts.push(type);\n\t\tparts.push(isBase64 ? \";base64\" : \"\");\n\t\tparts.push(\",\");\n\t\tparts.push(isBase64 ? text : encodeURIComponent(text));\t\t\n\t}\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n/*\nReturn system information useful for debugging\n*/\nexports.getSystemInfo = function(str,ending,position) {\n\tvar results = [],\n\t\tsave = function(desc,value) {\n\t\t\tresults.push(desc + \": \" + value);\n\t\t};\n\tif($tw.browser) {\n\t\tsave(\"User Agent\",navigator.userAgent);\n\t\tsave(\"Online Status\",window.navigator.onLine);\n\t}\n\tif($tw.node) {\n\t\tsave(\"Node Version\",process.version);\n\t}\n\treturn results.join(\"\\n\");\n};\n\nexports.parseNumber = function(str) {\n\treturn parseFloat(str) || 0;\n};\n\nexports.parseInt = function(str) {\n\treturn parseInt(str,10) || 0;\n};\n\nexports.stringifyNumber = function(num) {\n\treturn num + \"\";\n};\n\nexports.makeCompareFunction = function(type,options) {\n\toptions = options || {};\n\tvar gt = options.invert ? -1 : +1,\n\t\tlt = options.invert ? +1 : -1,\n\t\tcompare = function(a,b) {\n\t\t\tif(a > b) {\n\t\t\t\treturn gt ;\n\t\t\t} else if(a < b) {\n\t\t\t\treturn lt;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t},\n\t\ttypes = {\n\t\t\t\"number\": function(a,b) {\n\t\t\t\treturn compare($tw.utils.parseNumber(a),$tw.utils.parseNumber(b));\n\t\t\t},\n\t\t\t\"integer\": function(a,b) {\n\t\t\t\treturn compare($tw.utils.parseInt(a),$tw.utils.parseInt(b));\n\t\t\t},\n\t\t\t\"string\": function(a,b) {\n\t\t\t\treturn compare(\"\" + a,\"\" +b);\n\t\t\t},\n\t\t\t\"date\": function(a,b) {\n\t\t\t\tvar dateA = $tw.utils.parseDate(a),\n\t\t\t\t\tdateB = $tw.utils.parseDate(b);\n\t\t\t\tif(!isFinite(dateA)) {\n\t\t\t\t\tdateA = new Date(0);\n\t\t\t\t}\n\t\t\t\tif(!isFinite(dateB)) {\n\t\t\t\t\tdateB = new Date(0);\n\t\t\t\t}\n\t\t\t\treturn compare(dateA,dateB);\n\t\t\t},\n\t\t\t\"version\": function(a,b) {\n\t\t\t\treturn $tw.utils.compareVersions(a,b);\n\t\t\t}\n\t\t};\n\treturn (types[type] || types[options.defaultType] || types.number);\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/widgets/action-confirm.js": {
"title": "$:/core/modules/widgets/action-confirm.js",
"text": "/*\\\n\ntitle: $:/core/modules/widgets/action-confirm.js\ntype: application/javascript\nmodule-type: widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ConfirmWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nConfirmWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nConfirmWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.parentDomNode = parent;\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nConfirmWidget.prototype.execute = function() {\n\tthis.message = this.getAttribute(\"$message\",$tw.language.getString(\"ConfirmAction\"));\n\tthis.prompt = (this.getAttribute(\"$prompt\",\"yes\") == \"no\" ? false : true);\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nConfirmWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$message\"] || changedAttributes[\"$prompt\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nConfirmWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar invokeActions = true,\n\t\thandled = true;\n\tif(this.prompt) {\n\t\tinvokeActions = confirm(this.message);\n\t}\n\tif(invokeActions) {\n\t\thandled = this.invokeActions(triggeringWidget,event);\n\t}\n\treturn handled;\n};\n\nConfirmWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nexports[\"action-confirm\"] = ConfirmWidget;\n\n})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-createtiddler.js": {
"title": "$:/core/modules/widgets/action-createtiddler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw:false, require:false, exports:false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.hasBase = !!this.actionBaseTitle;\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionSaveDraftTitle = this.getAttribute(\"$savedrafttitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n\t//Following params are new since 5.1.22\n\tthis.actionTemplate = this.getAttribute(\"$template\");\n\tthis.useTemplate = !!this.actionTemplate;\n\tthis.actionOverwrite = this.getAttribute(\"$overwrite\",\"no\");\n\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.getTiddlerText(\"$:/language/DefaultNewTiddlerTitle\"), // Get the initial new-tiddler title\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tif(this.hasBase && this.actionOverwrite === \"no\") {\n\t\ttitle = this.wiki.generateNewTitle(this.actionBaseTitle);\n\t} else if (this.hasBase && this.actionOverwrite === \"yes\") {\n\t\ttitle = this.actionBaseTitle\n\t}\n\t// NO $basetitle BUT $template parameter is available\n\t// the title MUST be unique, otherwise the template would be overwritten\n\tif (!this.hasBase && this.useTemplate) {\n\t\ttitle = this.wiki.generateNewTitle(this.actionTemplate);\n\t} else if (!this.hasBase && !this.useTemplate) {\n\t\t// If NO $basetitle AND NO $template use initial title\n\t\t// DON'T overwrite any stuff\n\t\ttitle = this.wiki.generateNewTitle(title);\n\t}\n\tvar templateTiddler = this.wiki.getTiddler(this.actionTemplate) || {};\n\tvar tiddler = this.wiki.addTiddler(new $tw.Tiddler(templateTiddler.fields,creationFields,fields,modificationFields,{title: title}));\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.actionSaveDraftTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveDraftTitle,this.wiki.generateDraftTitle(title),this.getVariable(\"currentTiddler\"));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletefield.js": {
"title": "$:/core/modules/widgets/action-deletefield.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif(this.actionField && tiddler) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletetiddler.js": {
"title": "$:/core/modules/widgets/action-deletetiddler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-listops.js": {
"title": "$:/core/modules/widgets/action-listops.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\t\t\t\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-log.js": {
"title": "$:/core/modules/widgets/action-log.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-log.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to log debug messages\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LogWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLogWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLogWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\nLogWidget.prototype.execute = function(){\n\tthis.message = this.getAttribute(\"$$message\",\"debug\");\n\tthis.logAll = this.getAttribute(\"$$all\",\"no\") === \"yes\" ? true : false;\n\tthis.filter = this.getAttribute(\"$$filter\");\n}\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nLogWidget.prototype.refresh = function(changedTiddlers) {\n\tthis.refreshSelf();\n\treturn true;\n};\n\n/*\nInvoke the action associated with this widget\n*/\nLogWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tthis.log();\n\treturn true; // Action was invoked\n};\n\nLogWidget.prototype.log = function() {\n\tvar data = {},\n\t\tdataCount,\n\t\tallVars = {},\n\t\tfilteredVars;\n\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.substring(0,2) !== \"$$\") {\n\t\t\tdata[name] = attribute;\n\t\t}\t\t\n\t});\n\n\tfor(var v in this.variables) {\n\t\tallVars[v] = this.getVariable(v,{defaultValue:\"\"});\n\t}\t\n\tif(this.filter) {\n\t\tfilteredVars = this.wiki.compileFilter(this.filter).call(this.wiki,this.wiki.makeTiddlerIterator(allVars));\n\t\t$tw.utils.each(filteredVars,function(name) {\n\t\t\tdata[name] = allVars[name];\n\t\t});\t\t\n\t}\n\tdataCount = $tw.utils.count(data);\n\n\tconsole.group(this.message);\n\tif(dataCount > 0) {\n\t\t$tw.utils.logTable(data);\n\t}\n\tif(this.logAll || !dataCount) {\n\t\tconsole.groupCollapsed(\"All variables\");\n\t\t$tw.utils.logTable(allVars);\n\t\tconsole.groupEnd();\n\t}\n\tconsole.groupEnd();\n}\n\nexports[\"action-log\"] = LogWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-navigate.js": {
"title": "$:/core/modules/widgets/action-navigate.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-popup.js": {
"title": "$:/core/modules/widgets/action-popup.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-popup.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to trigger a popup.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ActionPopupWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nActionPopupWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nActionPopupWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nActionPopupWidget.prototype.execute = function() {\n\tthis.actionState = this.getAttribute(\"$state\");\n\tthis.actionCoords = this.getAttribute(\"$coords\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nActionPopupWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$state\"] || changedAttributes[\"$coords\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nActionPopupWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Trigger the popup\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(this.actionCoords || \"\");\n\tif(match) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: null,\n\t\t\tdomNodeRect: {\n\t\t\t\tleft: parseFloat(match[1]),\n\t\t\t\ttop: parseFloat(match[2]),\n\t\t\t\twidth: parseFloat(match[3]),\n\t\t\t\theight: parseFloat(match[4])\n\t\t\t},\n\t\t\ttitle: this.actionState,\n\t\t\twiki: this.wiki\n\t\t});\n\t} else {\n\t\t$tw.popup.cancel(0);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-popup\"] = ActionPopupWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-sendmessage.js": {
"title": "$:/core/modules/widgets/action-sendmessage.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-setfield.js": {
"title": "$:/core/modules/widgets/action-setfield.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\") || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/browse.js": {
"title": "$:/core/modules/widgets/browse.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\tif(this.accept) {\n\t\tdomNode.setAttribute(\"accept\",this.accept);\n\t}\n\t// Nw.js supports \"webkitdirectory\" and \"nwdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\tif(this.nwdirectory) {\n\t\tdomNode.setAttribute(\"nwdirectory\",this.nwdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,{\n\t\t\t\tcallback: function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t},\n\t\t\t\tdeserializer: self.deserializer\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.deserializer = this.getAttribute(\"deserializer\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.accept = this.getAttribute(\"accept\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n\tthis.nwdirectory = this.getAttribute(\"nwdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/button.js": {
"title": "$:/core/modules/widgets/button.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this,\n\t\ttag = \"button\",\n\t\tdomNode;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tdomNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif((this.set || this.setTitle) && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tdomNode.setAttribute(\"disabled\",true);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(self,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup || self.popupTitle) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set || self.setTitle) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\tself.invokeActionString(self.actions,self,event,{modifier: modifierKey});\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n return this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\n\t\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\n\t\t\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\"currentTiddler\") :\n\t\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\tif(this.popupTitle) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popupTitle,\n\t\t\twiki: this.wiki,\n\t\t\tnoStateReference: true\n\t\t});\n\t} else {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.popup,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tif(this.setTitle) {\n\t\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\n\t\t\t\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\n\t\t\t\tthis.wiki.setText(this.setTitle,\"text\",undefined,this.setTo));\n\t} else {\n\t\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\tthis.setTitle = this.getAttribute(\"setTitle\");\n\tthis.setField = this.getAttribute(\"setField\");\n\tthis.setIndex = this.getAttribute(\"setIndex\");\n\tthis.popupTitle = this.getAttribute(\"popupTitle\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nButtonWidget.prototype.updateDomNodeClasses = function() {\n\tvar domNodeClasses = this.domNode.className.split(\" \"),\n\t\toldClasses = this.class.split(\" \"),\n\t\tnewClasses;\t\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tnewClasses = this.class.split(\" \");\n\t//Remove classes assigned from the old value of class attribute\n\t$tw.utils.each(oldClasses,function(oldClass){\n\t\tvar i = domNodeClasses.indexOf(oldClass);\n\t\tif(i !== -1) {\n\t\t\tdomNodeClasses.splice(i,1);\n\t\t}\n\t});\n\t//Add new classes from updated class attribute.\n\t$tw.utils.pushTop(domNodeClasses,newClasses);\n\tthis.domNode.className = domNodeClasses.join(\" \");\n}\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle || changedAttributes.disabled) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedAttributes[\"class\"]) {\n\t\tthis.updateDomNodeClasses();\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/checkbox.js": {
"title": "$:/core/modules/widgets/checkbox.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value;\n\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxIndex) {\n\t\t\tvar value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n\tif(this.checkboxCheckActions && checked) {\n\t\tthis.invokeActionString(this.checkboxCheckActions,this,event);\n\t}\n\tif(this.checkboxUncheckActions && !checked) {\n\t\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxCheckActions = this.getAttribute(\"checkactions\");\n\tthis.checkboxUncheckActions = this.getAttribute(\"uncheckactions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.disabled) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/codeblock.js": {
"title": "$:/core/modules/widgets/codeblock.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/count.js": {
"title": "$:/core/modules/widgets/count.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = \"0\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/diff-text.js": {
"title": "$:/core/modules/widgets/diff-text.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/diff-text.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a diff between two texts\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tdmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nvar DiffTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDiffTextWidget.prototype = new Widget();\n\nDiffTextWidget.prototype.invisibleCharacters = {\n\t\"\\n\": \"↩︎\\n\",\n\t\"\\r\": \"⇠\",\n\t\"\\t\": \"⇥\\t\"\n};\n\n/*\nRender this widget into the DOM\n*/\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create the diff\n\tvar dmpObject = new dmp.diff_match_patch(),\n\t\tdiffs = dmpObject.diff_main(this.getAttribute(\"source\"),this.getAttribute(\"dest\"));\n\t// Apply required cleanup\n\tswitch(this.getAttribute(\"cleanup\",\"semantic\")) {\n\t\tcase \"none\":\n\t\t\t// No cleanup\n\t\t\tbreak;\n\t\tcase \"efficiency\":\n\t\t\tdmpObject.diff_cleanupEfficiency(diffs);\n\t\t\tbreak;\n\t\tdefault: // case \"semantic\"\n\t\t\tdmpObject.diff_cleanupSemantic(diffs);\n\t\t\tbreak;\n\t}\n\t// Create the elements\n\tvar domContainer = this.document.createElement(\"div\"), \n\t\tdomDiff = this.createDiffDom(diffs);\n\tparent.insertBefore(domContainer,nextSibling);\n\t// Set variables\n\tthis.setVariable(\"diff-count\",diffs.reduce(function(acc,diff) {\n\t\tif(diff[0] !== dmp.DIFF_EQUAL) {\n\t\t\tacc++;\n\t\t}\n\t\treturn acc;\n\t},0).toString());\n\t// Render child widgets\n\tthis.renderChildren(domContainer,null);\n\t// Render the diff\n\tdomContainer.appendChild(domDiff);\n\t// Save our container\n\tthis.domNodes.push(domContainer);\n};\n\n/*\nCreate DOM elements representing a list of diffs\n*/\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\n\tvar self = this;\n\t// Create the element and assign the attributes\n\tvar domPre = this.document.createElement(\"pre\"),\n\t\tdomCode = this.document.createElement(\"code\");\n\t$tw.utils.each(diffs,function(diff) {\n\t\tvar tag = diff[0] === dmp.DIFF_INSERT ? \"ins\" : (diff[0] === dmp.DIFF_DELETE ? \"del\" : \"span\"),\n\t\t\tclassName = diff[0] === dmp.DIFF_INSERT ? \"tc-diff-insert\" : (diff[0] === dmp.DIFF_DELETE ? \"tc-diff-delete\" : \"tc-diff-equal\"),\n\t\t\tdom = self.document.createElement(tag),\n\t\t\ttext = diff[1],\n\t\t\tcurrPos = 0,\n\t\t\tre = /([\\x00-\\x1F])/mg,\n\t\t\tmatch = re.exec(text),\n\t\t\tspan,\n\t\t\tprintable;\n\t\tdom.className = className;\n\t\twhile(match) {\n\t\t\tif(currPos < match.index) {\n\t\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\n\t\t\t}\n\t\t\tspan = self.document.createElement(\"span\");\n\t\t\tspan.className = \"tc-diff-invisible\";\n\t\t\tprintable = self.invisibleCharacters[match[0]] || (\"[0x\" + match[0].charCodeAt(0).toString(16) + \"]\");\n\t\t\tspan.appendChild(self.document.createTextNode(printable));\n\t\t\tdom.appendChild(span);\n\t\t\tcurrPos = match.index + match[0].length;\n\t\t\tmatch = re.exec(text);\n\t\t}\n\t\tif(currPos < text.length) {\n\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\n\t\t}\n\t\tdomCode.appendChild(dom);\n\t});\n\tdomPre.appendChild(domCode);\n\treturn domPre;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDiffTextWidget.prototype.execute = function() {\n\t// Make child widgets\n\tvar parseTreeNodes;\n\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/language/Diffs/CountMessage\"}\n\t\t\t}\n\t\t}];\n\t}\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports[\"diff-text\"] = DiffTextWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/draggable.js": {
"title": "$:/core/modules/widgets/draggable.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\tvar tag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [\"tc-draggable\"];\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Add event handlers\n\t$tw.utils.makeDraggable({\n\t\tdomNode: domNode,\n\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\tstartActions: self.startActions,\n\t\tendActions: self.endActions,\n\t\twidget: this\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\tthis.startActions = this.getAttribute(\"startactions\");\n\tthis.endActions = this.getAttribute(\"endactions\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/droppable.js": {
"title": "$:/core/modules/widgets/droppable.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this,\n\t\ttag = this.parseTreeNode.isBlock ? \"div\" : \"span\",\n\t\tdomNode;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tdomNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\tthis.assignDomNodeClasses();\n\t// Add event handlers\n\tif(this.droppableEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t\t]);\t\t\n\t} else {\n\t\t$tw.utils.addClass(this.domNode,this.disabledClass);\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\tif(this.domNodes[0]) {\n\t\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t\t}\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\tfieldsArray.forEach(function(fields) {\n\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t});\n\t});\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\tthis.disabledClass = this.getAttribute(\"disabledClass\",\"\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nDroppableWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tthis.domNode.className = classes.join(\" \");\t\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedAttributes[\"class\"]) {\n\t\tthis.assignDomNodeClasses();\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n\n})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/dropzone.js": {
"title": "$:/core/modules/widgets/dropzone.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = this.dropzoneClass || \"tc-dropzone\";\n\t// Add event handlers\n\tif(this.dropzoneEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\t\t\n\t}\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray), autoOpenOnImport: self.autoOpenOnImport, importTitle: self.importTitle});\n\t\t};\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\tif(dataTransfer.files) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\n\t\t\tcallback: readFileCallback,\n\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,this.wiki.generateNewTitle(\"Untitled\"),readFileCallback);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray), autoOpenOnImport: self.autoOpenOnImport, importTitle: self.importTitle});\n\t\t};\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),{\n\t\t\t\t\tcallback: readFileCallback,\n\t\t\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields]), autoOpenOnImport: self.autoOpenOnImport, importTitle: self.importTitle});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\tthis.dropzoneClass = this.getAttribute(\"class\");\n\tthis.dropzoneDeserializer = this.getAttribute(\"deserializer\");\n\tthis.dropzoneEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\tthis.autoOpenOnImport = this.getAttribute(\"autoOpenOnImport\");\n\tthis.importTitle = this.getAttribute(\"importTitle\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.enable || changedAttributes.autoOpenOnImport || changedAttributes.importTitle || changedAttributes.deserializer || changedAttributes.class) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-binary.js": {
"title": "$:/core/modules/widgets/edit-binary.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Get our parameters\n\tvar editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tvar tiddler = this.wiki.getTiddler(editTitle);\n\tvar type = tiddler.fields.type;\n\tvar text = tiddler.fields.text;\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on draft tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!draft.title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!draft.title\"}\n\t\t},\n\t\tchildren: [{\n\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to internal data URI (no external)\n\tif(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets([element]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-bitmap.js": {
"title": "$:/core/modules/widgets/edit-bitmap.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370,\n\tDEFAULT_IMAGE_TYPE = \"image/png\";\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\n\t\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\t\t\n\t} else {\n\t\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\n\t\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\n\t\tcurrImage.onerror();\n\t}\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\n/*\n** Rotate the canvas left by 90 degrees\n*/\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\n\t// Get the current size of the image\n\tvar origWidth = this.currCanvas.width,\n\t\torigHeight = this.currCanvas.height;\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\"),\n\t\tnewWidth = origHeight,\n\t\tnewHeight = origWidth;\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.save();\n\tctx.translate(newWidth / 2,newHeight / 2);\n\tctx.rotate(-Math.PI / 2);\n\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\n\tctx.restore();\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\n\t// data URIs look like \"data:<type>;base64,<text>\"\n\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\tposColon = dataURL.indexOf(\":\"),\n\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\tposComma = dataURL.indexOf(\",\"),\n\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\ttext = dataURL.substring(posComma+1);\n\tvar update = {type: type, text: text};\n\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-shortcut.js": {
"title": "$:/core/modules/widgets/edit-shortcut.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n\t// Focus the input Node if focus === \"yes\" or focus === \"true\"\n\tif(this.shortcutFocus === \"yes\" || this.shortcutFocus === \"true\") {\n\t\tthis.focus();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n\tthis.shortcutFocus = this.getAttribute(\"focus\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nfocus the input node\n*/\nEditShortcutWidget.prototype.focus = function() {\n\tif(this.inputNode.focus && this.inputNode.select) {\n\t\tthis.inputNode.focus();\n\t\tthis.inputNode.select();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"] || changedAttributes.focus) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-text.js": {
"title": "$:/core/modules/widgets/edit-text.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit.js": {
"title": "$:/core/modules/widgets/edit.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\tthis.editFocus = this.getAttribute(\"focus\",\"\");\n\tthis.editCancelPopups = this.getAttribute(\"cancelPopups\",\"\");\n\tthis.editInputActions = this.getAttribute(\"inputActions\");\n\tthis.editRefreshTitle = this.getAttribute(\"refreshTitle\");\n\tthis.editAutoComplete = this.getAttribute(\"autocomplete\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: this.parseTreeNode.attributes,\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/element.js": {
"title": "$:/core/modules/widgets/element.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// Neuter blacklisted elements\n\tthis.tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(this.tag) !== -1) {\n\t\tthis.tag = \"safe-\" + this.tag;\n\t}\n\t// Adjust headings by the current base level\n\tvar headingLevel = [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].indexOf(this.tag);\n\tif(headingLevel !== -1) {\n\t\tvar baseLevel = parseInt(this.getVariable(\"tv-adjust-heading-level\",\"0\"),10) || 0;\n\t\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\n\t\tthis.tag = \"h\" + headingLevel;\n\t}\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Invoke the th-rendering-element hook\n\tvar parseTreeNodes = $tw.hooks.invokeHook(\"th-rendering-element\",null,this);\n\tthis.isReplaced = !!parseTreeNodes;\n\tif(parseTreeNodes) {\n\t\t// Use the parse tree nodes provided by the hook\n\t\tthis.makeChildWidgets(parseTreeNodes);\n\t\tthis.renderChildren(this.parentDomNode,null);\n\t\treturn;\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n\t// Create the DOM node and render children\n\tvar domNode = this.document.createElementNS(this.namespace,this.tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\tif(!this.isReplaced) {\n\t\t\t// Update our attributes\n\t\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\t\t\t\n\t\t} else {\n\t\t\t// If we were replaced then completely refresh ourselves\n\t\t\treturn this.refreshSelf();\n\t\t}\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/encrypt.js": {
"title": "$:/core/modules/widgets/encrypt.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/entity.js": {
"title": "$:/core/modules/widgets/entity.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/eventcatcher.js": {
"title": "$:/core/modules/widgets/eventcatcher.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/eventcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nEvent handler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EventWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEventWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEventWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.elementTag && $tw.config.htmlUnsafeElements.indexOf(this.elementTag) === -1) {\n\t\ttag = this.elementTag;\n\t}\t\n\tvar domNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\t// Assign classes\n\tthis.assignDomNodeClasses();\t\n\t// Add our event handler\n\t$tw.utils.each(this.types,function(type) {\n\t\tdomNode.addEventListener(type,function(event) {\n\t\t\tvar selector = self.getAttribute(\"selector\"),\n\t\t\t\tactions = self.getAttribute(\"actions-\"+type),\n\t\t\t\tselectedNode = event.target,\n\t\t\t\tselectedNodeRect,\n\t\t\t\tcatcherNodeRect,\n\t\t\t\tvariables = {};\n\t\t\tif(selector) {\n\t\t\t\t// Search ancestors for a node that matches the selector\n\t\t\t\twhile(!selectedNode.matches(selector) && selectedNode !== domNode) {\n\t\t\t\t\tselectedNode = selectedNode.parentNode;\n\t\t\t\t}\n\t\t\t\t// If we found one, copy the attributes as variables, otherwise exit\n\t\t\t\tif(selectedNode.matches(selector)) {\n\t\t\t\t\t$tw.utils.each(selectedNode.attributes,function(attribute) {\n\t\t\t\t\t\tvariables[\"dom-\" + attribute.name] = attribute.value.toString();\n\t\t\t\t\t});\n\t\t\t\t\t//Add a variable with a popup coordinate string for the selected node\n\t\t\t\t\tvariables[\"tv-popup-coords\"] = \"(\" + selectedNode.offsetLeft + \",\" + selectedNode.offsetTop +\",\" + selectedNode.offsetWidth + \",\" + selectedNode.offsetHeight + \")\";\n\t\t\t\t\t\n\t\t\t\t\t//Add variables for offset of selected node\n\t\t\t\t\tvariables[\"tv-selectednode-posx\"] = selectedNode.offsetLeft.toString();\n\t\t\t\t\tvariables[\"tv-selectednode-posy\"] = selectedNode.offsetTop.toString();\n\t\t\t\t\tvariables[\"tv-selectednode-width\"] = selectedNode.offsetWidth.toString();\n\t\t\t\t\tvariables[\"tv-selectednode-height\"] = selectedNode.offsetHeight.toString();\n\n\t\t\t\t\t//Add variables for event X and Y position relative to selected node\n\t\t\t\t\tselectedNodeRect = selectedNode.getBoundingClientRect();\t\t\t\t\n\t\t\t\t\tvariables[\"event-fromselected-posx\"] = (event.clientX - selectedNodeRect.left).toString();\n\t\t\t\t\tvariables[\"event-fromselected-posy\"] = (event.clientY - selectedNodeRect.top).toString();\n\n\t\t\t\t\t//Add variables for event X and Y position relative to event catcher node\n\t\t\t\t\tcatcherNodeRect = self.domNode.getBoundingClientRect();\n\t\t\t\t\tvariables[\"event-fromcatcher-posx\"] = (event.clientX - catcherNodeRect.left).toString();\n\t\t\t\t\tvariables[\"event-fromcatcher-posy\"] = (event.clientY - catcherNodeRect.top).toString();\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Execute our actions with the variables\n\t\t\tif(actions) {\n\t\t\t\t// Add a variable for the modifier key\n\t\t\t\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\t\t// Add a variable for the mouse button\n\t\t\t\tif(\"button\" in event) {\n\t\t\t\t\tif(event.button === 0) {\n\t\t\t\t\t\tvariables[\"event-mousebutton\"] = \"left\";\n\t\t\t\t\t} else if(event.button === 1) {\n\t\t\t\t\t\tvariables[\"event-mousebutton\"] = \"middle\";\n\t\t\t\t\t} else if(event.button === 2) {\n\t\t\t\t\t\tvariables[\"event-mousebutton\"] = \"right\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvariables[\"event-type\"] = event.type.toString();\n\t\t\t\tif(typeof event.detail === \"object\" && !!event.detail) {\n\t\t\t\t\t$tw.utils.each(event.detail,function(detailValue,detail) {\n\t\t\t\t\t\tvariables[\"event-detail-\" + detail] = detailValue.toString();\n\t\t\t\t\t});\n\t\t\t\t} else if(!!event.detail) {\n\t\t\t\t\tvariables[\"event-detail\"] = event.detail.toString();\n\t\t\t\t}\n\t\t\t\tself.invokeActionString(actions,self,event,variables);\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},false);\n\t});\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEventWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes that require a refresh on change\n\tthis.types = this.getAttribute(\"events\",\"\").split(\" \");\n\tthis.elementTag = this.getAttribute(\"tag\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nEventWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-eventcatcher\");\n\tthis.domNode.className = classes.join(\" \");\t\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEventWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"events\"] || changedAttributes[\"tag\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedAttributes[\"class\"]) {\n\t\tthis.assignDomNodeClasses();\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.eventcatcher = EventWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fieldmangler.js": {
"title": "$:/core/modules/widgets/fieldmangler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fields.js": {
"title": "$:/core/modules/widgets/fields.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.sort = this.getAttribute(\"sort\",\"yes\") === \"yes\";\n\tthis.sortReverse = this.getAttribute(\"sortReverse\",\"no\") === \"yes\";\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.include = this.getAttribute(\"include\",null);\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\n\t// Get the inclusion and exclusion list\n\tvar excludeArr = (this.exclude) ? this.exclude.split(\" \") : [\"text\"];\n\t// Include takes precedence\n\tvar includeArr = (this.include) ? this.include.split(\" \") : null;\n\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tif (includeArr) { // Include takes precedence\n\t\t\tfor(var i=0; i<includeArr.length; i++) {\n\t\t\t\tif(tiddler.fields[includeArr[i]]) {\n\t\t\t\t\tfields.push(includeArr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\tif(excludeArr.indexOf(fieldName) === -1) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.sort) fields.sort();\n\t\tif (this.sortReverse) fields.reverse();\n\t\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tvar row = this.template,\n\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\tif(reMatch) {\n\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\ttext.push(row);\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif( changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude ||\n\t\tchangedAttributes.include || changedAttributes.sort || changedAttributes.sortReverse ||\n\t\tchangedTiddlers[this.tiddlerTitle] || changedAttributes.stripTitlePrefix) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/image.js": {
"title": "$:/core/modules/widgets/image.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/importvariables.js": {
"title": "$:/core/modules/widgets/importvariables.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar widgetPointer = this;\n\t// Got to flush all the accumulated variables\n\tthis.variables = new this.variablesConstructor();\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = widgetPointer.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\tvar node = {\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params,\n\t\t\t\t\tisMacroDefinition: parseTreeNode.isMacroDefinition\n\t\t\t\t};\n\t\t\t\tif (parseTreeNode.isMacroDefinition) {\n\t\t\t\t\t// Macro definitions can be folded into\n\t\t\t\t\t// current widget instead of adding\n\t\t\t\t\t// another link to the chain.\n\t\t\t\t\tvar widget = widgetPointer.makeChildWidget(node);\n\t\t\t\t\twidget.computeAttributes();\n\t\t\t\t\twidget.execute();\n\t\t\t\t\t// We SHALLOW copy over all variables\n\t\t\t\t\t// in widget. We can't use\n\t\t\t\t\t// $tw.utils.assign, because that copies\n\t\t\t\t\t// up the prototype chain, which we\n\t\t\t\t\t// don't want.\n\t\t\t\t\t$tw.utils.each(Object.keys(widget.variables), function(key) {\n\t\t\t\t\t\twidgetPointer.variables[key] = widget.variables[key];\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twidgetPointer.children = [widgetPointer.makeChildWidget(node)];\n\t\t\t\t\t// No more regenerating children for\n\t\t\t\t\t// this widget. If it needs to refresh,\n\t\t\t\t\t// it'll do so along with the the whole\n\t\t\t\t\t// importvariable tree.\n\t\t\t\t\tif (widgetPointer != this) {\n\t\t\t\t\t\twidgetPointer.makeChildWidgets = function(){};\n\t\t\t\t\t}\n\t\t\t\t\twidgetPointer = widgetPointer.children[0];\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\n\tif (widgetPointer != this) {\n\t\twidgetPointer.parseTreeNode.children = this.parseTreeNode.children;\n\t} else {\n\t\twidgetPointer.makeChildWidgets();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/keyboard.js": {
"title": "$:/core/modules/widgets/keyboard.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tvar handled = self.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tif(handled || self.actions || self.message) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\",\"\");\n\tthis.message = this.getAttribute(\"message\",\"\");\n\tthis.param = this.getAttribute(\"param\",\"\");\n\tthis.key = this.getAttribute(\"key\",\"\");\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tif(this.key.substr(0,2) === \"((\" && this.key.substr(-2,2) === \"))\") {\n\t\tthis.shortcutTiddlers = [];\n\t\tvar name = this.key.substring(2,this.key.length -2);\n\t\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\n\t\t\tself.shortcutTiddlers.push(\"$:/config/\" + platformDescriptor + \"/\" + name);\n\t\t});\n\t}\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"] || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\n\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/link.js": {
"title": "$:/core/modules/widgets/link.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"}),\n\t\tdomNode = this.document.createElementNS(namespace,tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.overrideClasses === undefined) {\n\t\tclasses.push(\"tc-tiddlylink\");\n\t\tif(this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t\t}\n\t\tif(this.isMissing && !this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t\t} else {\n\t\t\tif(!this.isMissing) {\n\t\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t\t}\n\t\t}\n\t\tif(this.linkClasses) {\n\t\t\tclasses.push(this.linkClasses);\t\t\t\n\t\t}\n\t} else if(this.overrideClasses !== \"\") {\n\t\tclasses.push(this.overrideClasses)\n\t}\n\tif(classes.length > 0) {\n\t\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t}\n\t// Set an href\n\tvar wikilinkTransformFilter = this.getVariable(\"tv-filter-export-link\"),\n\t\twikiLinkText;\n\tif(wikilinkTransformFilter) {\n\t\t// Use the filter to construct the href\n\t\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\n\t\t\titerator(self.wiki.getTiddler(self.to),self.to)\n\t\t})[0];\n\t} else {\n\t\t// Expand the tv-wikilink-template variable to construct the href\n\t\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\";\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",encodeURIComponent(this.to));\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\t}\n\t// Override with the value of tv-get-export-link if defined\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tvar namespaceHref = (namespace === \"http://www.w3.org/2000/svg\") ? \"http://www.w3.org/1999/xlink\" : undefined;\n\t\tdomNode.setAttributeNS(namespaceHref,\"href\",wikiLinkText);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey,\n\t\tevent: event\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.overrideClasses = this.getAttribute(\"overrideClass\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = (this.getVariable(\"tv-show-missing-links\") || \"yes\") === \"no\";\n\t// Make the child widgets\n\tvar templateTree;\n\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\ttemplateTree = this.parseTreeNode.children;\n\t} else {\n\t\t// Default template is a link to the title\n\t\ttemplateTree = [{type: \"text\", text: this.to}];\n\t}\n\tthis.makeChildWidgets(templateTree);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/linkcatcher.js": {
"title": "$:/core/modules/widgets/linkcatcher.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\n\tthis.executingActions = false;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(!this.executingActions) {\n\t\t// Execute the actions\n\t\tif(this.catchTo) {\n\t\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t\t}\n\t\tif(this.catchMessage && this.parentWidget) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: this.catchMessage,\n\t\t\t\tparam: event.navigateTo,\n\t\t\t\tnavigateTo: event.navigateTo\n\t\t\t});\n\t\t}\n\t\tif(this.catchSet) {\n\t\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t\t}\n\t\tif(this.catchActions) {\n\t\t\tthis.executingActions = true;\n\t\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo, modifier: modifierKey});\n\t\t\tthis.executingActions = false;\n\t\t}\n\t} else {\n\t\t// This is a navigate event generated by the actions of this linkcatcher, so we don't trap it again, but just pass it to the parent\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: \"tm-navigate\",\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/list.js": {
"title": "$:/core/modules/widgets/list.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar parser,\n\t\temptyMessage = this.getAttribute(\"emptyMessage\",\"\");\n\t// this.wiki.parseText() calls \n\t// new Parser(..), which should only be done, if needed, because it's heavy!\n\tif (emptyMessage === \"\") {\n\t\treturn [];\n\t}\n\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/log.js": {
"title": "$:/core/modules/widgets/log.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/log.js\ntype: application/javascript\nmodule-type: widget-subclass\n\nWidget to log debug messages\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.baseClass = \"action-log\";\n\nexports.name = \"log\";\n\nexports.constructor = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n}\n\nexports.prototype = {};\n\nexports.prototype.render = function(event) {\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,event);\t\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).log.call(this);\n}\n\n})();",
"type": "application/javascript",
"module-type": "widget-subclass"
},
"$:/core/modules/widgets/macrocall.js": {
"title": "$:/core/modules/widgets/macrocall.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar macroName = this.parseTreeNode.name || this.getAttribute(\"$name\"),\n\t\tvariableInfo = this.getVariableInfo(macroName,{params: params}),\n\t\ttext = variableInfo.text,\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\t// Check if we've already cached parsing this macro\n\t\tvar mode = this.parseTreeNode.isBlock ? \"blockParser\" : \"inlineParser\",\n\t\t\tparser;\n\t\tif(variableInfo.srcVariable && variableInfo.srcVariable[mode]) {\n\t\t\tparser = variableInfo.srcVariable[mode];\n\t\t} else {\n\t\t\tparser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\t\tif(variableInfo.isCacheable && variableInfo.srcVariable) {\n\t\t\t\tvariableInfo.srcVariable[mode] = parser;\n\t\t\t}\n\t\t}\n\t\tvar parseTreeNodes = parser ? parser.tree : [];\n\t\t// Wrap the parse tree in a vars widget assigning the parameters to variables named \"__paramname__\"\n\t\tvar attributes = {};\n\t\t$tw.utils.each(variableInfo.params,function(param) {\n\t\t\tvar name = \"__\" + param.name + \"__\";\n\t\t\tattributes[name] = {\n\t\t\t\tname: name,\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalue: param.value\n\t\t\t};\n\t\t});\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"vars\",\n\t\t\tattributes: attributes,\n\t\t\tchildren: parseTreeNodes\n\t\t}];\n\t} else if(this.renderOutput === \"text/raw\") {\n\t\tparseTreeNodes = [{type: \"text\", text: text}];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/navigator.js": {
"title": "$:/core/modules/widgets/navigator.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\tthis.story = new $tw.Story({\n\t\twiki: this.wiki,\n\t\tstoryTitle: this.storyTitle,\n\t\thistoryTitle: this.historyTitle\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tif(this.storyTitle) {\n\t\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: this.storyTitle},\n\t\t\tstoryTiddler,\n\t\t\t{list: storyList}\n\t\t));\t\t\n\t}\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tif(storyList) {\n\t\tvar p = storyList.indexOf(title);\n\t\twhile(p !== -1) {\n\t\t\tstoryList.splice(p,1);\n\t\t\tp = storyList.indexOf(title);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tif(storyList) {\n\t\tvar pos = storyList.indexOf(oldTitle);\n\t\tif(pos !== -1) {\n\t\t\tstoryList[pos] = newTitle;\n\t\t\tdo {\n\t\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\t\tif(pos !== -1) {\n\t\t\t\t\tstoryList.splice(pos,1);\n\t\t\t\t}\n\t\t\t} while(pos !== -1);\n\t\t} else {\n\t\t\tstoryList.splice(0,0,newTitle);\n\t\t}\t\t\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tif(this.storyTitle) {\n\t\tthis.story.addToStory(title,fromTitle,{\n\t\t\topenLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),\n\t\t\topenLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")\n\t\t});\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.story.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event);\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\t\ttext: \"\",\n\t\t\t},\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler,tiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\texistingTiddler,\n\t\tfilteredAdditionalFields,\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList && storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList && storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTitle = event.importTitle ? event.importTitle : IMPORT_TITLE,\n\t\timportTiddler = this.wiki.getTiddler(importTitle),\n\t\timportData = this.wiki.getTiddlerData(importTitle,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: importTitle,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t\tnewFields[\"suppressed-\" + title] = \"yes\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tvar autoOpenOnImport = event.autoOpenOnImport ? event.autoOpenOnImport : this.getVariable(\"tv-auto-open-on-import\"); \n\tif(autoOpenOnImport !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList && storyList.indexOf(importTitle) === -1) {\n\t\t\tstoryList.unshift(importTitle);\n\t\t}\n\t\t// And to history\n\t\thistory.push(importTitle);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tif($tw.utils.hop(importTiddler.fields,[\"rename-\" + title])) {\n\t\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields,{title : importTiddler.fields[\"rename-\" + title]});\n\t\t\t} else {\n\t\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\t}\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddler.fields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar options = {},\n\t\tparamObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\toptions.dontRenameInTags = (paramObject.renameInTags === \"false\" || paramObject.renameInTags === \"no\") ? true : false;\n\toptions.dontRenameInLists = (paramObject.renameInLists === \"false\" || paramObject.renameInLists === \"no\") ? true : false;\n\tthis.wiki.renameTiddler(from,to,options);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/password.js": {
"title": "$:/core/modules/widgets/password.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/qualify.js": {
"title": "$:/core/modules/widgets/qualify.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/qualify.js\ntype: application/javascript\nmodule-type: widget\n\nQualify text to a variable \n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar QualifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nQualifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nQualifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nQualifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.qualifyName = this.getAttribute(\"name\");\n\tthis.qualifyTitle = this.getAttribute(\"title\");\n\t// Set context variable\n\tif(this.qualifyName) {\n\t\tthis.setVariable(this.qualifyName,this.qualifyTitle + \"-\" + this.getStateQualifier());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.title) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.qualify = QualifyWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/radio.js": {
"title": "$:/core/modules/widgets/radio.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tvar isChecked = this.getValue() === this.radioValue;\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\n\t\t\"tc-radio \" + this.radioClass + (isChecked ? \" tc-radio-selected\" : \"\")\n\t);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(isChecked) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif (this.radioIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex);\n\t} else {\n\t\tvalue = tiddler && tiddler.getFieldString(this.radioField);\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n\t// Trigger actions\n\tif(this.radioActions) {\n\t\tthis.invokeActionString(this.radioActions,this,event,{\"actionValue\": this.radioValue});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\tthis.radioActions = this.getAttribute(\"actions\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(($tw.utils.count(changedAttributes) > 0) || changedTiddlers[this.radioTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/range.js": {
"title": "$:/core/modules/widgets/range.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/range.js\ntype: application/javascript\nmodule-type: widget\n\nRange widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RangeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRangeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRangeWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"range\");\n\tthis.inputDomNode.setAttribute(\"class\",this.elementClass);\n\tif(this.minValue){\n\t\tthis.inputDomNode.setAttribute(\"min\", this.minValue);\n\t}\n\tif(this.maxValue){\n\t\tthis.inputDomNode.setAttribute(\"max\", this.maxValue);\n\t}\n\tif(this.increment){\n\t\tthis.inputDomNode.setAttribute(\"step\", this.increment);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.inputDomNode.value = this.getValue();\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name:\"mousedown\", handlerObject:this, handlerMethod:\"handleMouseDownEvent\"},\n\t\t{name:\"mouseup\", handlerObject:this, handlerMethod:\"handleMouseUpEvent\"},\n\t\t{name:\"change\", handlerObject:this, handlerMethod:\"handleChangeEvent\"},\n\t\t{name:\"input\", handlerObject:this, handlerMethod:\"handleInputEvent\"},\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.inputDomNode,nextSibling);\n\tthis.domNodes.push(this.inputDomNode);\n};\n\nRangeWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\n\t\tfieldName = this.tiddlerField,\n\t\tvalue = this.defaultValue;\n\tif(tiddler) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.tiddlerIndex,this.defaultValue);\n\t\t} else {\n\t\t\tif($tw.utils.hop(tiddler.fields,fieldName)) {\n\t\t\t\tvalue = tiddler.fields[fieldName] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.defaultValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nRangeWidget.prototype.getActionVariables = function(options) {\n\toptions = options || {};\n\tvar hasChanged = (this.startValue !== this.inputDomNode.value) ? \"yes\" : \"no\";\n\t// Trigger actions. Use variables = {key:value, key:value ...}\n\t// the \"value\" is needed.\n\treturn $tw.utils.extend({\"actionValue\": this.inputDomNode.value, \"actionValueHasChanged\": hasChanged}, options);\n}\n\n// actionsStart\nRangeWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.mouseDown = true; // TODO remove once IE is gone.\n\tthis.startValue = this.inputDomNode.value; // TODO remove this line once IE is gone!\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsMouseDown) {\n\t\tvar variables = this.getActionVariables() // TODO this line will go into the function call below.\n\t\tthis.invokeActionString(this.actionsMouseDown,this,event,variables);\n\t}\n}\n\n// actionsStop\nRangeWidget.prototype.handleMouseUpEvent = function(event) {\n\tthis.mouseDown = false; // TODO remove once IE is gone.\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsMouseUp) {\n\t\tvar variables = this.getActionVariables()\n\t\tthis.invokeActionString(this.actionsMouseUp,this,event,variables);\n\t}\n\t// TODO remove the following if() once IE is gone!\n\tif ($tw.browser.isIE) {\n\t\tif (this.startValue !== this.inputDomNode.value) {\n\t\t\tthis.handleChangeEvent(event);\n\t\t\tthis.startValue = this.inputDomNode.value;\n\t\t}\n\t}\n}\n\nRangeWidget.prototype.handleChangeEvent = function(event) {\n\tif (this.mouseDown) { // TODO refactor this function once IE is gone.\n\t\tthis.handleInputEvent(event);\n\t}\n};\n\nRangeWidget.prototype.handleInputEvent = function(event) {\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsInput) {\n\t\t// \"tiddler\" parameter may be missing. See .execute() below\n\t\tvar variables = this.getActionVariables({\"actionValueHasChanged\": \"yes\"}) // TODO this line will go into the function call below.\n\t\tthis.invokeActionString(this.actionsInput,this,event,variables);\n\t}\n};\n\nRangeWidget.prototype.handleEvent = function(event) {\n\tif(this.getValue() !== this.inputDomNode.value) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,\"\",this.tiddlerIndex,this.inputDomNode.value);\n\t\t} else {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRangeWidget.prototype.execute = function() {\n\t// TODO remove the next 1 lines once IE is gone!\n\tthis.mouseUp = true; // Needed for IE10\n\t// Get the parameters from the attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.tiddlerField = this.getAttribute(\"field\",\"text\");\n\tthis.tiddlerIndex = this.getAttribute(\"index\");\n\tthis.minValue = this.getAttribute(\"min\");\n\tthis.maxValue = this.getAttribute(\"max\");\n\tthis.increment = this.getAttribute(\"increment\");\n\tthis.defaultValue = this.getAttribute(\"default\",\"\");\n\tthis.elementClass = this.getAttribute(\"class\",\"\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Actions since 5.1.23\n\t// Next 2 only fire once!\n\tthis.actionsMouseDown = this.getAttribute(\"actionsStart\",\"\");\n\tthis.actionsMouseUp = this.getAttribute(\"actionsStop\",\"\");\n\t// Input fires very often!\n\tthis.actionsInput = this.getAttribute(\"actions\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRangeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.tiddlerTitle]) {\n\t\t\tvar value = this.getValue();\n\t\t\tif(this.inputDomNode.value !== value) {\n\t\t\t\tthis.inputDomNode.value = value;\n\t\t\t}\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.range = RangeWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/raw.js": {
"title": "$:/core/modules/widgets/raw.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/reveal.js": {
"title": "$:/core/modules/widgets/reveal.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\tthis.assignDomNodeClasses();\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tvar left,top;\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"belowright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\t\t\t\n\t\tcase \"right\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tcase \"aboveleft\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\t\t\t\n\t\tdefault: // Below\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t}\n\tif(!this.positionAllowNegative) {\n\t\tleft = Math.max(0,left);\n\t\ttop = Math.max(0,top);\n\t}\n\tdomNode.style.left = left + \"px\";\n\tdomNode.style.top = top + \"px\";\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis.positionAllowNegative = this.getAttribute(\"positionAllowNegative\") === \"yes\";\n\t// class attribute handled in assignDomNodeClasses()\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\tthis.updatePopupPosition = this.getAttribute(\"updatePopupPosition\",\"no\") === \"yes\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTiddlerTitle = this.state;\n\tthis.stateTitle = this.getAttribute(\"stateTitle\");\n\tthis.stateField = this.getAttribute(\"stateField\");\n\tthis.stateIndex = this.getAttribute(\"stateIndex\");\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state,\n\t defaultState = this[\"default\"];\n\tif(this.stateTitle) {\n\t\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\n\t\tif(this.stateField) {\n\t\t\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\n\t\t} else if(this.stateIndex) {\n\t\t\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\n\t\t} else if(stateTitleTiddler) {\n\t\t\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\n\t\t} else {\n\t\t\tstate = defaultState;\n\t\t}\n\t} else {\n\t\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\t}\n\tif(state === null) {\n\t\tstate = this[\"default\"];\n\t}\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.isOpen = this.text === state;\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.isOpen = this.text !== state;\n\t\t\tbreak;\n\t\tcase \"lt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t\tcase \"gt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"lteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"gteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.compareStateText = function(state) {\n\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \"case\"});\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\nRevealWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-reveal\");\n\tthis.domNode.className = classes.join(\" \");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\"default\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar currentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else if(this.type === \"popup\" && this.updatePopupPosition && (changedTiddlers[this.state] || changedTiddlers[this.stateTitle])) {\n\t\t\tthis.positionPopup(this.domNode);\n\t\t}\n\t\tif(changedAttributes.style) {\n\t\t\tthis.domNode.style = this.getAttribute(\"style\",\"\");\n\t\t}\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.assignDomNodeClasses();\n\t\t}\t\t\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\tvar self = this;\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\t//make sure that the state hasn't changed during the close animation\n\t\t\tself.readState()\n\t\t\tif(!self.isOpen) {\n\t\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t\t\t}\n\t\t}});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/scrollable.js": {
"title": "$:/core/modules/widgets/scrollable.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tif(event.paramObject && event.paramObject.selector) {\n\t\tthis.scrollSelectorIntoView(null,event.paramObject.selector);\n\t} else {\n\t\tthis.scrollIntoView(event.target);\t\t\t\n\t}\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\tsrcWindow = element ? element.ownerDocument.defaultView : window;\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nScrollableWidget.prototype.scrollSelectorIntoView = function(baseElement,selector,callback) {\n\tbaseElement = baseElement || document.body;\n\tvar element = baseElement.querySelector(selector);\n\tif(element) {\n\t\tthis.scrollIntoView(element,callback);\t\t\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/select.js": {
"title": "$:/core/modules/widgets/select.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tselect.children[i].selected = values.indexOf(select.children[i].value) !== -1\n\t\t}\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\tthis.selectTooltip = this.getAttribute(\"tooltip\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tif(this.selectTooltip) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"title\",this.selectTooltip);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex || changedAttributes.selectTooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/set.js": {
"title": "$:/core/modules/widgets/set.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setTiddler = this.getAttribute(\"tiddler\");\n\tthis.setSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.setField = this.getAttribute(\"field\");\n\tthis.setIndex = this.getAttribute(\"index\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,!!this.parseTreeNode.isMacroDefinition);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setTiddler) {\n\t\tvar tiddler;\n\t\tif(this.setSubTiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.setTiddler);\t\t\t\n\t\t}\n\t\tif(!tiddler) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t} else if(this.setField) {\n\t\t\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\n\t\t} else if(this.setIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\n\t\t} else {\n\t\t\tvalue = tiddler.fields.text || this.setEmptyValue ;\n\t\t}\n\t} else if(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(this.setValue == null) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value || \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\n\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/text.js": {
"title": "$:/core/modules/widgets/text.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/tiddler.js": {
"title": "$:/core/modules/widgets/tiddler.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/transclude.js": {
"title": "$:/core/modules/widgets/transclude.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\tthis.recursionMarker = this.getAttribute(\"recursionMarker\",\"yes\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tif(this.recursionMarker === \"yes\") {\n\t\tthis.setVariable(\"transclusion\",recursionMarker);\n\t}\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/vars.js": {
"title": "$:/core/modules/widgets/vars.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/view.js": {
"title": "$:/core/modules/widgets/view.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tthis.viewMode = this.getAttribute(\"mode\",\"block\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/widget.js": {
"title": "$:/core/modules/widgets/widget.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning that the widget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\t// Get widget classes\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t\t// Process any subclasses\n\t\t$tw.modules.forEachModuleOfType(\"widget-subclass\",function(title,module) {\n\t\t\tif(module.baseClass) {\n\t\t\t\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\n\t\t\t\tif(!baseClass) {\n\t\t\t\t\tthrow \"Module '\" + title + \"' is attemping to extend a non-existent base class '\" + module.baseClass + \"'\";\n\t\t\t\t}\n\t\t\t\tvar subClass = module.constructor;\n\t\t\t\tsubClass.prototype = new baseClass();\n\t\t\t\t$tw.utils.extend(subClass.prototype,module.prototype);\n\t\t\t\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\nisMacroDefinition: true if the variable is set via a \\define macro pragma (and hence should have variable substitution performed)\n*/\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition) {\n\tthis.variables[name] = {value: value, params: params, isMacroDefinition: !!isMacroDefinition};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n\nReturns an object with the following fields:\n\nparams: array of {name:,value:} of parameters passed to wikitext variables\ntext: text of variable, with parameters properly substituted\n*/\nWidget.prototype.getVariableInfo = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\toriginalValue = variable.value,\n\t\t\tvalue = originalValue,\n\t\t\tparams = this.resolveVariableParameters(variable.params,actualParams);\n\t\t// Substitute any parameters specified in the definition\n\t\t$tw.utils.each(params,function(param) {\n\t\t\tvalue = $tw.utils.replaceString(value,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(param.name) + \"\\\\$\",\"mg\"),param.value);\n\t\t});\n\t\t// Only substitute variable references if this variable was defined with the \\define pragma\n\t\tif(variable.isMacroDefinition) {\n\t\t\tvalue = this.substituteVariableReferences(value);\t\t\t\n\t\t}\n\t\treturn {\n\t\t\ttext: value,\n\t\t\tparams: params,\n\t\t\tsrcVariable: variable,\n\t\t\tisCacheable: originalValue === value\n\t\t};\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn {\n\t\ttext: this.evaluateMacroModule(name,actualParams,options.defaultValue)\n\t};\n};\n\n/*\nSimplified version of getVariableInfo() that just returns the text\n*/\nWidget.prototype.getVariable = function(name,options) {\n\treturn this.getVariableInfo(name,options).text;\n};\n\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\n\tformalParams = formalParams || [];\n\tactualParams = actualParams || [];\n\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\tparamInfo, paramValue,\n\t\tresults = [];\n\t// Step through each of the parameters in the macro definition\n\tfor(var p=0; p<formalParams.length; p++) {\n\t\t// Check if we've got a macro call parameter with the same name\n\t\tparamInfo = formalParams[p];\n\t\tparamValue = undefined;\n\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t}\n\t\t}\n\t\t// If not, use the next available anonymous macro call parameter\n\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\tnextAnonParameter++;\n\t\t}\n\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t}\n\t\t// If we've still not got a value, use the default, if any\n\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t// Store the parameter name and value\n\t\tresults.push({name: paramInfo.name, value: paramValue});\n\t}\n\treturn results;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"filtered\") {\n\t\t\tvalue = self.wiki.filterTiddlers(attribute.filter,self)[0] || \"\";\n\t\t} else if(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\tvar children = this.children;\n\tfor(var i = 0; i < children.length; i++) {\n\t\tchildren[i].render(parent,nextSibling);\n\t};\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\tevent.widget = event.widget || this;\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar children = this.children,\n\t\trefreshed = false;\n\tfor (var i = 0; i < children.length; i++) {\n\t\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\n\t}\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction) {\n\t\t\tchild.refreshSelf();\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\n/*\nExecute action tiddlers by tag\n*/\nWidget.prototype.invokeActionsByTag = function(tag,event,variables) {\n\tvar self = this;\n\t$tw.utils.each(self.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[\" + tag + \"]!has[draft.of]]\"),function(title) {\n\t\tself.invokeActionString(self.wiki.getTiddlerText(title),self,event,variables);\n\t});\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/wikify.js": {
"title": "$:/core/modules/widgets/wikify.js",
"text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/wiki-bulkops.js": {
"title": "$:/core/modules/wiki-bulkops.js",
"text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\n\t\t\t\t\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\n\t\t\t\t\tisModified = false;\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming tag '\" + tags[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\t\t\tif(title === fromTitle) {\nconsole.log(\"Renaming list item '\" + list[index] + \"' to '\" + toTitle + \"' of tiddler '\" + tiddler.fields.title + \"'\");\n\t\t\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/wiki.js": {
"title": "$:/core/modules/wiki.js",
"text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nAdd available indexers to this wiki\n*/\nexports.addIndexersToWiki = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.modules.applyMethods(\"indexer\"),function(Indexer,name) {\n\t\tself.addIndexer(new Indexer(self),name);\n\t});\n};\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.isBinaryTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.encoding === \"base64\";\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t\t\t\t\t\t\t(isDescending ? y - x : x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else if(isAlphaNumeric) {\n\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked within the given parse tree\n */\nexports.extractLinks = function(parseTreeRoot) {\n\t// Count up the links\n\tvar links = [],\n\t\tcheckParseTree = function(parseTree) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn links;\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\treturn self.extractLinks(parser.tree);\n\t\t}\n\t\treturn [];\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinksIndexer = this.getIndexer(\"BacklinksIndexer\"),\n\t\tbacklinks = backlinksIndexer && backlinksIndexer.lookup(targetTitle);\n\n\tif(!backlinks) {\n\t\tbacklinks = [];\n\t\tthis.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self.getTiddlerLinks(title);\n\t\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\t\tbacklinks.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\t// Try to use the indexer\n\tvar self = this,\n\t\ttagIndexer = this.getIndexer(\"TagIndexer\"),\n\t\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\n\tif(!results) {\n\t\t// If not available, perform a manual scan\n\t\tresults = this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\t\tvar tagmap = self.getTagMap();\n\t\t\treturn self.sortByList(tagmap[tag],tag);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar self = this,\n\t\treplacedTitles = Object.create(null);\n\t// Given a title, this function will place it in the correct location\n\t// within titles.\n\tfunction moveItemInList(title) {\n\t\tif(!$tw.utils.hop(replacedTitles, title)) {\n\t\t\treplacedTitles[title] = true;\n\t\t\tvar newPos = -1,\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(afterTitle === \"\") {\n\t\t\t\t\tnewPos = titles.length;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\t// if this title is placed relative\n\t\t\t\t\t// to another title, make sure that\n\t\t\t\t\t// title is placed before we place\n\t\t\t\t\t// this one.\n\t\t\t\t\tmoveItemInList(beforeTitle);\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\t// Same deal\n\t\t\t\t\tmoveItemInList(afterTitle);\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If a new position is specified, let's move it\n\t\t\t\tif (newPos !== -1) {\n\t\t\t\t\t// get its current Pos, and make sure\n\t\t\t\t\t// sure that it's _actually_ in the list\n\t\t\t\t\t// and that it would _actually_ move\n\t\t\t\t\t// (#4275) We don't bother calling\n\t\t\t\t\t// indexOf unless we have a new\n\t\t\t\t\t// position to work with\n\t\t\t\t\tvar currPos = titles.indexOf(title);\n\t\t\t\t\tif(currPos >= 0 && newPos !== currPos) {\n\t\t\t\t\t\t// move it!\n\t\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tmoveItemInList(title);\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\nexports.getTiddlersAsJson = function(filter,spaces) {\n\tvar tiddlers = this.filterTiddlers(filter),\n\t\tspaces = (spaces === undefined) ? $tw.config.preferences.jsonSpaces : spaces,\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,spaces);\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n\t// Use the generic binary parser for any binary types not registered so far\n\tif($tw.Wiki.parsers[\"application/octet-stream\"]) {\n\t\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\n\t\t\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \"base64\") {\n\t\t\t\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\"application/octet-stream\"];\n\t\t\t}\n\t\t});\t\t\n\t}\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type,tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.recursionMarker : optional flag to set a recursion marker, defaults to \"yes\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\trecursionMarker: {\n\t\t\t\t\tname: \"recursionMarker\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: options.recursionMarker || \"yes\"\n\t\t\t\t\t},\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\";\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn this.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tfield: If specified, restricts the search to the specified field, or an array of field names\n\tanchored: If true, forces all but regexp searches to be anchored to the start of text\n\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\n\tThe search mode is determined by the first of these boolean flags to be true\n\t\tliteral: searches for literal string\n\t\twhitespace: same as literal except runs of whitespace are treated as a single space\n\t\tregexp: treats the search term as a regular expression\n\t\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, regardless of adjacency or ordering\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\",\n\t\tanchor = options.anchored ? \"^\" : \"\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else if(options.whitespace) {\n\t\tterms = [];\n\t\t$tw.utils.each(text.split(/\\s+/g),function(term) {\n\t\t\tif(term) {\n\t\t\t\tterms.push($tw.utils.escapeRegExp(term));\n\t\t\t}\n\t\t});\n\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + terms.join(\"\\\\s+\") + \")\",flags)];\n\t} else if(options.regexp) {\n\t\ttry {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + text + \")\",flags)];\t\t\t\n\t\t} catch(e) {\n\t\t\tsearchTermsRegExps = null;\n\t\t\tconsole.log(\"Regexp error parsing /(\" + text + \")/\" + flags + \": \",e);\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Accumulate the array of fields to be searched or excluded from the search\n\tvar fields = [];\n\tif(options.field) {\n\t\tif($tw.utils.isArray(options.field)) {\n\t\t\t$tw.utils.each(options.field,function(fieldName) {\n\t\t\t\tif(fieldName) {\n\t\t\t\t\tfields.push(fieldName);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push(options.field);\n\t\t}\n\t}\n\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\n\tif(fields.length === 0 && !options.excludeField) {\n\t\tfields.push(\"title\");\n\t\tfields.push(\"tags\");\n\t\tfields.push(\"text\");\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar notYetFound = searchTermsRegExps.slice();\n\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tsearchFields;\n\t\t// Get the list of fields we're searching\n\t\tif(options.excludeField) {\n\t\t\tsearchFields = Object.keys(tiddler.fields);\n\t\t\t$tw.utils.each(fields,function(fieldName) {\n\t\t\t\tvar p = searchFields.indexOf(fieldName);\n\t\t\t\tif(p !== -1) {\n\t\t\t\t\tsearchFields.splice(p,1);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsearchFields = fields;\n\t\t}\n\t\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\n\t\t\t// Don't search the text field if the content type is binary\n\t\t\tvar fieldName = searchFields[fieldIndex];\n\t\t\tif(fieldName === \"text\" && contentTypeInfo.encoding !== \"utf8\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar str = tiddler.fields[fieldName],\n\t\t\t\tt;\n\t\t\tif(str) {\n\t\t\t\tif($tw.utils.isArray(str)) {\n\t\t\t\t\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\n\t\t\t\t\tfor(var s=0; s<str.length; s++) {\n\t\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\t\tif(notYetFound[t].test(str[s])) {\n\t\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\n\t\t\t\t\tstr = tiddler.getFieldString(fieldName);\n\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\tif(notYetFound[t].test(str)) {\n\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn notYetFound.length == 0;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(!tiddler.hasField(\"_is_skinny\")) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text || \"\";\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\tvar result = [],\n\t\toutstanding = files.length,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t};\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Give the hook a chance to process the drag\n\tif($tw.hooks.invokeHook(\"th-importing-file\",{\n\t\tfile: file,\n\t\ttype: type,\n\t\tisBinary: isBinary,\n\t\tcallback: callback\n\t}) !== true) {\n\t\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\n\t}\n};\n\n/*\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\n\tvar self = this;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\"};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\t\n\tconsole.log(\"$tw.wiki.addToHistory() is deprecated since V5.1.23! Use the this.story.addToHistory() from the story-object!\")\n};\n\n/*\nAdd a new tiddler to the story river\ntitle: a title string or an array of title strings\nfromTitle: the title of the tiddler from which the navigation originated\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\noptions: see story.js\n*/\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\n\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\n\tstory.addToStory(title,fromTitle,options);\n\tconsole.log(\"$tw.wiki.addToStory() is deprecated since V5.1.23! Use the this.story.addToStory() from the story-object!\")\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nexports.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle,\n\t\tusername = this.getTiddlerText(\"$:/status/UserName\"),\n\t\tattribution = username ? \" by \" + username : \"\";\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\" + attribution;\n\t\tc++;\n\t} while(this.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n// Determine whether a plugin by title is dynamically loadable\nexports.doesPluginRequireReload = function(title) {\n\treturn this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));\n};\n\n// Determine whether a plugin info structure is dynamically loadable\nexports.doesPluginInfoRequireReload = function(pluginInfo) {\n\tif(pluginInfo) {\n\t\tvar foundModule = false;\n\t\t$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {\n\t\t\tif(tiddler.type === \"application/javascript\" && $tw.utils.hop(tiddler,\"module-type\")) {\n\t\t\t\tfoundModule = true;\n\t\t\t}\n\t\t});\n\t\treturn foundModule;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.slugify = function(title,options) {\n\tvar tiddler = this.getTiddler(title),\n\t\tslug;\n\tif(tiddler && tiddler.fields.slug) {\n\t\tslug = tiddler.fields.slug;\n\t} else {\n\t\tslug = $tw.utils.transliterate(title.toString().toLowerCase()) // Replace diacritics with basic lowercase ASCII\n\t\t\t.replace(/\\s+/g,\"-\") // Replace spaces with -\n\t\t\t.replace(/[^\\w\\-\\.]+/g,\"\") // Remove all non-word chars except dash and dot\n\t\t\t.replace(/\\-\\-+/g,\"-\") // Replace multiple - with single -\n\t\t\t.replace(/^-+/,\"\") // Trim - from start of text\n\t\t\t.replace(/-+$/,\"\"); // Trim - from end of text\n\t}\n\t// If the resulting slug is blank (eg because the title is just punctuation characters)\n\tif(!slug) {\n\t\t// ...then just use the character codes of the title\n\t\tvar result = [];\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tresult.push(char.charCodeAt(0).toString());\n\t\t});\n\t\tslug = result.join(\"-\");\n\t}\n\treturn slug;\n};\n\n})();\n\n",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/palettes/Blanca": {
"title": "$:/palettes/Blanca",
"name": "Blanca",
"description": "A clean white palette to let you focus",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Blue": {
"title": "$:/palettes/Blue",
"name": "Blue",
"description": "A blue theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Muted": {
"title": "$:/palettes/Muted",
"name": "Muted",
"description": "Bright tiddlers on a muted background",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastLight": {
"title": "$:/palettes/ContrastLight",
"name": "Contrast (Light)",
"description": "High contrast and unambiguous (light version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/ContrastDark": {
"title": "$:/palettes/ContrastDark",
"name": "Contrast (Dark)",
"description": "High contrast and unambiguous (dark version)",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
},
"$:/palettes/CupertinoDark": {
"title": "$:/palettes/CupertinoDark",
"tags": "$:/tags/Palette",
"name": "Cupertino Dark",
"description": "A macOS inspired dark palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #FF453A\nalert-border: #FF453A\nalert-highlight: #FFD60A\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #282828\nblockquote-bar: <<colour page-background>>\nbutton-foreground: <<colour background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #FF453A\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour tiddler-info-background>>\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: #3F638B\ndropdown-tab-background: #323232\ndropzone-background: #30D158\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #BF5AF2\nexternal-link-foreground: #32D74B\nforeground: #FFFFFF\nmenubar-background: #464646\nmenubar-foreground: #ffffff\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: #98989D\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #323232\npre-background: #464646\npre-border: transparent\nprimary: #0A84FF\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour background>>\nsidebar-controls-foreground-hover: #FF9F0A\nsidebar-controls-foreground: #8E8E93\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: #3F638B\nsidebar-tab-background: <<colour background>>\nsidebar-tab-border-selected: <<colour background>>\nsidebar-tab-border: <<colour background>>\nsidebar-tab-divider: <<colour background>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: #ffffff\nstatic-alert-foreground: #B4B4B4\ntab-background-selected: #3F638B\ntab-background: <<colour page-background>>\ntab-border-selected: <<colour page-background>>\ntab-border: <<colour page-background>>\ntab-divider: <<colour page-background>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #464646\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #48484A\ntag-foreground: #323232\ntiddler-background: <<colour background>>\ntiddler-border: transparent\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: #48484A\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #1E1E1E\ntiddler-info-border: #1E1E1E\ntiddler-info-tab-background: #3F638B\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: #464646\nselection-background: #3F638B\nselection-foreground: #ffffff\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #3F638B\nwikilist-button-foreground: <<colour foreground>>\nwikilist-button-open: #32D74B\nwikilist-button-open-hover: #32D74B\nwikilist-button-reveal: #0A84FF\nwikilist-button-reveal-hover: #0A84FF\nwikilist-button-remove: #FF453A\nwikilist-button-remove-hover: #FF453A\nwikilist-droplink-dragover: #32D74B\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour foreground>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-url: <<colour muted-foreground>>\n"
},
"$:/palettes/DarkPhotos": {
"title": "$:/palettes/DarkPhotos",
"created": "20150402111612188",
"description": "Good with dark photo backgrounds",
"modified": "20150402112344080",
"name": "DarkPhotos",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/DesertSand": {
"title": "$:/palettes/DesertSand",
"tags": "$:/tags/Palette",
"name": "Desert Sand",
"description": "A desert sand palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #E9E0C7\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #F3EDDF\ncode-border: #C3BAA1\ncode-foreground: #ab3250\ndiff-delete-background: #bd8b8b\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #91c093\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ad3434\ndownload-background: #6ca16c\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #E9E0C7\ndropdown-tab-background: #BAB29C\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #313163\nexternal-link-foreground: #555592\nforeground: #2D2A23\nmenubar-background: #CDC2A6\nmenubar-foreground: #5A5446\nmessage-background: #ECE5CF\nmessage-border: #D6CBAA\nmessage-foreground: #5f6e7d\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #8A8885\nmodal-footer-background: #CDC2A6\nmodal-footer-border: #9D998E\nmodal-header-border: #9D998E\nmuted-foreground: #9D998E\nnotification-background: #F0E9D7\nnotification-border: #939189\npage-background: #e0d3af\npre-background: #D6CBAA\npre-border: #CDC2A6\nprimary: #5B6F55\nselection-background: #9D947B\nselection-foreground: <<colour foreground>>\nselect-tag-background: #F0E9D7\nselect-tag-foreground: #2D2A23\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #2D2A23\nsidebar-controls-foreground: #867F69\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #867F69\nsidebar-muted-foreground-hover: #706A58\nsidebar-muted-foreground: #B3A98C\nsidebar-tab-background-selected: #e0d3af\nsidebar-tab-background: #A6A193\nsidebar-tab-border-selected: #C3BAA1\nsidebar-tab-border: #C3BAA1\nsidebar-tab-divider: #CDC2A6\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #2D2A23\nsidebar-tiddler-link-foreground-hover: #433F35\nsidebar-tiddler-link-foreground: #706A58\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #A6A193\ntab-background-selected: #E9E0C7\ntab-background: #A6A193\ntab-border-selected: #C3BAA1\ntab-border: #C3BAA1\ntab-divider: #CDC2A6\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #2D2A23\ntable-border: #9D998E\ntable-footer-background: #8A8885\ntable-header-background: #B0AA98\ntag-background: #706A58\ntag-foreground: #E3D7B7\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #9D947B\ntiddler-controls-foreground-selected: #706A58\ntiddler-controls-foreground: #C3BAA1\ntiddler-editor-background: #E9E0C7\ntiddler-editor-border-image: #A6A193\ntiddler-editor-border: #A6A193\ntiddler-editor-fields-even: #D6CBAA\ntiddler-editor-fields-odd: #C3BAA1\ntiddler-info-background: #E3D7B7\ntiddler-info-border: #BAB29C\ntiddler-info-tab-background: #E9E0C7\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #867F69\ntiddler-title-foreground: #374464\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #8A8885\nvery-muted-foreground: #CDC2A6\nwikilist-background: <<colour page-background>>\nwikilist-item: #CDC2A6\nwikilist-info: #161512\nwikilist-title: #433F35\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #706A58\nwikilist-button-open: #7db66a\nwikilist-button-open-hover: #56a556\nwikilist-button-reveal: #5a6c9e\nwikilist-button-reveal-hover: #454591\nwikilist-button-remove: #bc5972\nwikilist-button-remove-hover: #814040\nwikilist-toolbar-background: #CDC2A6\nwikilist-toolbar-foreground: #2D2A23\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #A6A193\nwikilist-button-foreground: #161512\n"
},
"$:/palettes/GruvboxDark": {
"title": "$:/palettes/GruvboxDark",
"name": "Gruvbox Dark",
"description": "Retro groove color scheme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"license": "https://github.com/morhetz/gruvbox",
"text": "alert-background: #cc241d\nalert-border: #cc241d\nalert-highlight: #d79921\nalert-muted-foreground: #504945\nbackground: #3c3836\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour page-background>>\ncode-background: #504945\ncode-border: #504945\ncode-foreground: #fb4934\ndiff-delete-background: #fb4934\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #b8bb26\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #fb4934\ndownload-background: #b8bb26\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #665c54\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ebdbb2\ndropdown-tab-background: #665c54\ndropzone-background: #98971a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #d3869b\nexternal-link-foreground: #8ec07c\nforeground: #fbf1c7\nmenubar-background: #504945\nmenubar-foreground: <<colour foreground>>\nmessage-background: #83a598\nmessage-border: #83a598\nmessage-foreground: #3c3836\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #504945\nmodal-footer-background: #3c3836\nmodal-footer-border: #3c3836\nmodal-header-border: #3c3836\nmuted-foreground: #d5c4a1\nnotification-background: <<colour primary>>\nnotification-border: <<colour primary>>\npage-background: #282828\npre-background: #504945\npre-border: #504945\nprimary: #d79921\nselect-tag-background: #665c54\nselect-tag-foreground: <<colour foreground>>\nselection-background: #458588\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour page-background>>\nsidebar-controls-foreground-hover: #7c6f64\nsidebar-controls-foreground: #504945\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #fbf1c7\nsidebar-muted-foreground-hover: #7c6f64\nsidebar-muted-foreground: #504945\nsidebar-tab-background-selected: #bdae93\nsidebar-tab-background: #3c3836\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #bdae93\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #282828\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #458588\nsidebar-tiddler-link-foreground: #98971a\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ebdbb2\ntab-background: #665c54\ntab-border-selected: #665c54\ntab-border: #665c54\ntab-divider: #bdae93\ntab-foreground-selected: #282828\ntab-foreground: #ebdbb2\ntable-border: #7c6f64\ntable-footer-background: #665c54\ntable-header-background: #504945\ntag-background: #d3869b\ntag-foreground: #282828\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #7c6f64\ntiddler-controls-foreground-selected: <<colour primary>>\ntiddler-controls-foreground: #665c54\ntiddler-editor-background: #32302f\ntiddler-editor-border-image: #282828\ntiddler-editor-border: #282828\ntiddler-editor-fields-even: #504945\ntiddler-editor-fields-odd: #7c6f64\ntiddler-info-background: #32302f\ntiddler-info-border: #ebdbb2\ntiddler-info-tab-background: #ebdbb2\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #7c6f64\ntiddler-title-foreground: #a89984\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #504945\nvery-muted-foreground: #bdae93\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #acacac\nwikilist-button-foreground: <<colour button-foreground>>\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour muted-foreground>>\nwikilist-button-open-hover: <<colour primary>>\nwikilist-button-open: <<colour dropzone-background>>\nwikilist-button-remove: <<colour dirty-indicator>>\nwikilist-button-remove-hover: <<colour alert-background>>\nwikilist-droplink-dragover: <<colour dropzone-background>>\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\nwikilist-button-reveal-hover: <<colour message-background>>\n"
},
"$:/palettes/Nord": {
"title": "$:/palettes/Nord",
"name": "Nord",
"description": "An arctic, north-bluish color palette.",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"license": "MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md",
"text": "alert-background: #D08770\nalert-border: #D08770\nalert-highlight: #B48EAD\nalert-muted-foreground: #4C566A\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour page-background>>\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #BF616A\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nforeground: #d8dee9\nmenubar-background: #2E3440\nmenubar-foreground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #4C566A\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #5E81AC\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nselection-background: #5E81AC\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour page-background>>\nsidebar-controls-foreground-hover: #D8DEE9\nsidebar-controls-foreground: #4C566A\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #4C566A\nsidebar-muted-foreground: #4C566A\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #4C566A\ntab-divider: #4C566A\ntab-foreground-selected: #4C566A\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #4C566A\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #3b4252\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #2e3440\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #4C566A\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\nwikilist-background: <<colour page-background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-item: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-info: <<colour muted-foreground>>\nwikilist-button-open: #A3BE8C\nwikilist-button-open-hover: #A3BE8C\nwikilist-button-reveal: #81A1C1\nwikilist-button-reveal-hover: #81A1C1\nwikilist-button-remove: #B48EAD\nwikilist-button-remove-hover: #B48EAD\n"
},
"$:/palettes/Rocker": {
"title": "$:/palettes/Rocker",
"name": "Rocker",
"description": "A dark theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/SolarFlare": {
"title": "$:/palettes/SolarFlare",
"name": "Solar Flare",
"description": "Warm, relaxing earth colours",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/SolarizedDark": {
"title": "$:/palettes/SolarizedDark",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"description": "Precision dark colors for machines and people",
"license": "MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE",
"name": "SolarizedDark",
"text": "alert-background: #073642\nalert-border: #93a1a1\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #073642\nblockquote-bar: #d33682\nbutton-background: #073642\nbutton-border: #586e75\nbutton-foreground: #93a1a1\ncode-background: #073642\ncode-border: #586e75\ncode-foreground: #93a1a1\ndirty-indicator: inherit\ndownload-background: #859900\ndownload-foreground: #073642\ndragger-background: #073642\ndragger-foreground: #839496\ndropdown-background: #073642\ndropdown-border: #93a1a1\ndropdown-tab-background: #002b36\ndropdown-tab-background-selected: #073642\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover:\nexternal-link-foreground-visited: #268bd2\nforeground: #839496\nmessage-background: #002b36\nmessage-border: #586e75\nmessage-foreground: #839496\nmodal-backdrop: #657b83\nmodal-background: #002b36\nmodal-border: #586e75\nmodal-footer-background: #073642\nmodal-footer-border: #586e75\nmodal-header-border: #586e75\nmuted-foreground: #93a1a1\nnotification-background: #002b36\nnotification-border: #586e75\npage-background: #073642\npre-background: inherit\npre-border: #657b83\nprimary: #859900\nselect-tag-background: #002b36\nselect-tag-foreground: #839496\nsidebar-button-foreground: #93a1a1\nsidebar-controls-foreground: #93a1a1\nsidebar-controls-foreground-hover: #eee8d5\nsidebar-foreground: #93a1a1\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #839496\nsidebar-muted-foreground-hover: #93a1a1\nsidebar-tab-background: #002b36\nsidebar-tab-background-selected: #073642\nsidebar-tab-border: #073642\nsidebar-tab-border-selected: #839496\nsidebar-tab-divider: #002b36\nsidebar-tab-foreground: #657b83\nsidebar-tab-foreground-selected: #93a1a1\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #eee8d5\nsite-title-foreground: #d33682\nstatic-alert-foreground: #93a1a1\ntab-background: #073642\ntab-background-selected: #002b36\ntab-border: #586e75\ntab-border-selected: #93a1a1\ntab-divider: #93a1a1\ntab-foreground: #839496\ntab-foreground-selected: #93a1a1\ntable-border: #586e75\ntable-footer-background: #073642\ntable-header-background: #073642\ntag-background: #b58900\ntag-foreground: #002b36\ntiddler-background: #002b36\ntiddler-border: #586e75\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #002b36\ntiddler-editor-border: #073642\ntiddler-editor-border-image: #002b36\ntiddler-editor-fields-even: #002b36\ntiddler-editor-fields-odd: #073642\ntiddler-info-background: #073642\ntiddler-info-border: #657b83\ntiddler-info-tab-background: #002b36\ntiddler-link-background: #002b36\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #839496\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #839496\ntoolbar-close-button: #839496\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #839496\ntoolbar-edit-button: #839496\ntoolbar-info-button: #839496\ntoolbar-new-button: #839496\ntoolbar-options-button: #839496\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #586e75\n"
},
"$:/palettes/SolarizedLight": {
"title": "$:/palettes/SolarizedLight",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"description": "Precision colors for machines and people",
"license": "MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE",
"name": "SolarizedLight",
"text": "alert-background: #eee8d5\nalert-border: #586e75\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #eee8d5\nblockquote-bar: #d33682\nbutton-background: #eee8d5\nbutton-border: #93a1a1\nbutton-foreground: #586e75\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #586e75\ndirty-indicator: inherit\ndownload-background: #859900\ndownload-foreground: #eee8d5\ndragger-background: #eee8d5\ndragger-foreground: #657b83\ndropdown-background: #eee8d5\ndropdown-border: #586e75\ndropdown-tab-background: #fdf6e3\ndropdown-tab-background-selected: #eee8d5\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #268bd2\nforeground: #657b83\nmessage-background: #fdf6e3\nmessage-border: #93a1a1\nmessage-foreground: #657b83\nmodal-backdrop: #839496\nmodal-background: #fdf6e3\nmodal-border: #93a1a1\nmodal-footer-background: #eee8d5\nmodal-footer-border: #93a1a1\nmodal-header-border: #93a1a1\nmuted-foreground: #586e75\nnotification-background: #fdf6e3\nnotification-border: #93a1a1\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #839496\nprimary: #859900\nselect-tag-background: #fdf6e3\nselect-tag-foreground: #657b83\nsidebar-button-foreground: #586e75\nsidebar-controls-foreground: #586e75\nsidebar-controls-foreground-hover: #d33682\nsidebar-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #657b83\nsidebar-muted-foreground-hover: #586e75\nsidebar-tab-background: #fdf6e3\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-border: #eee8d5\nsidebar-tab-border-selected: #657b83\nsidebar-tab-divider: #fdf6e3\nsidebar-tab-foreground: #839496\nsidebar-tab-foreground-selected: #586e75\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #002b36\nsite-title-foreground: #d33682\nstatic-alert-foreground: #586e75\ntab-background: #eee8d5\ntab-background-selected: #fdf6e3\ntab-border: #93a1a1\ntab-border-selected: #586e75\ntab-divider: #586e75\ntab-foreground: #657b83\ntab-foreground-selected: #586e75\ntable-border: #93a1a1\ntable-footer-background: #eee8d5\ntable-header-background: #eee8d5\ntag-background: #b58900\ntag-foreground: #fdf6e3\ntiddler-background: #fdf6e3\ntiddler-border: #93a1a1\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #fdf6e3\ntiddler-editor-border: #eee8d5\ntiddler-editor-border-image: #fdf6e3\ntiddler-editor-fields-even: #fdf6e3\ntiddler-editor-fields-odd: #eee8d5\ntiddler-info-background: #eee8d5\ntiddler-info-border: #839496\ntiddler-info-tab-background: #fdf6e3\ntiddler-link-background: #fdf6e3\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #657b83\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #657b83\ntoolbar-close-button: #657b83\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #657b83\ntoolbar-edit-button: #657b83\ntoolbar-info-button: #657b83\ntoolbar-new-button: #657b83\ntoolbar-options-button: #657b83\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #93a1a1\n"
},
"$:/palettes/SpartanDay": {
"title": "$:/palettes/SpartanDay",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"description": "Cold, spartan day colors",
"name": "Spartan Day",
"text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nforeground: rgba(0, 0, 0, 0.87)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n"
},
"$:/palettes/SpartanNight": {
"title": "$:/palettes/SpartanNight",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"description": "Dark spartan colors",
"name": "Spartan Night",
"text": "alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nforeground: rgba(255, 255, 255, 0.7)\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n"
},
"$:/palettes/Twilight": {
"title": "$:/palettes/Twilight",
"tags": "$:/tags/Palette",
"author": "Thomas Elmiger",
"type": "application/x-tiddler-dictionary",
"name": "Twilight",
"description": "Delightful, soft darkness.",
"text": "alert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nforeground: rgb(179, 179, 179)\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n"
},
"$:/palettes/Vanilla": {
"title": "$:/palettes/Vanilla",
"name": "Vanilla",
"description": "Pale and unobtrusive",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselection-background:\nselection-foreground:\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nwikilist-background: #e5e5e5\nwikilist-item: #fff\nwikilist-info: #000\nwikilist-title: #666\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #aaa\nwikilist-button-open: #4fb82b\nwikilist-button-open-hover: green\nwikilist-button-reveal: #5778d8\nwikilist-button-reveal-hover: blue\nwikilist-button-remove: #d85778\nwikilist-button-remove-hover: red\nwikilist-toolbar-background: #d3d3d3\nwikilist-toolbar-foreground: #888\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #acacac\nwikilist-button-foreground: #000\n"
},
"$:/core/readme": {
"title": "$:/core/readme",
"text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
},
"$:/library/sjcl.js/license": {
"title": "$:/library/sjcl.js/license",
"type": "text/plain",
"text": "SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
},
"$:/core/templates/MOTW.html": {
"title": "$:/core/templates/MOTW.html",
"text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com --> "
},
"$:/core/templates/alltiddlers.template.html": {
"title": "$:/core/templates/alltiddlers.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
},
"$:/core/templates/canonical-uri-external-image": {
"title": "$:/core/templates/canonical-uri-external-image",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/canonical-uri-external-raw": {
"title": "$:/core/templates/canonical-uri-external-raw",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/canonical-uri-external-text": {
"title": "$:/core/templates/canonical-uri-external-text",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
},
"$:/core/templates/css-tiddler": {
"title": "$:/core/templates/css-tiddler",
"text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
},
"$:/core/templates/exporters/CsvFile": {
"title": "$:/core/templates/exporters/CsvFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/CsvFile}}",
"extension": ".csv",
"text": "<$macrocall $name=\"csvtiddlers\" filter=<<exportFilter>> format=\"quoted-comma-sep\" $output=\"text/raw\"/>\n"
},
"$:/core/templates/exporters/JsonFile": {
"title": "$:/core/templates/exporters/JsonFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/JsonFile}}",
"extension": ".json",
"text": "<$macrocall $name=\"jsontiddlers\" filter=<<exportFilter>> $output=\"text/raw\"/>\n"
},
"$:/core/templates/exporters/StaticRiver": {
"title": "$:/core/templates/exporters/StaticRiver",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/StaticRiver}}",
"extension": ".html",
"text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river tc-static-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
},
"$:/core/templates/exporters/StaticRiver/Content": {
"title": "$:/core/templates/exporters/StaticRiver/Content",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>\n"
},
"$:/core/templates/exporters/TidFile": {
"title": "$:/core/templates/exporters/TidFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/TidFile}}",
"extension": ".tid",
"condition": "[<count>compare:lte[1]]",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<<renderContent>>"
},
"$:/core/save/all-external-js": {
"title": "$:/core/save/all-external-js",
"text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5-external-js.html}}\n"
},
"$:/core/templates/tiddlywiki5.js": {
"title": "$:/core/templates/tiddlywiki5.js",
"text": "\\rules only filteredtranscludeinline transcludeinline codeinline\n\n/*\n{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}\n`*/\n`<!--~~ Library modules ~~-->\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/plain-text-tiddler}}}\n<!--~~ Boot prefix ~~-->\n{{ $:/boot/bootprefix.js ||$:/core/templates/plain-text-tiddler}}\n<!--~~ Core plugin ~~-->\n{{$:/core/templates/tiddlywiki5.js/tiddlers}}\n<!--~~ Boot kernel ~~-->\n{{ $:/boot/boot.js ||$:/core/templates/plain-text-tiddler}}\n"
},
"$:/core/templates/tiddlywiki5.js/tiddlers": {
"title": "$:/core/templates/tiddlywiki5.js/tiddlers",
"text": "`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n`\n"
},
"$:/core/templates/tiddlywiki5-external-js.html": {
"title": "$:/core/templates/tiddlywiki5-external-js.html",
"text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Raw markup for the bottom of the body section ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}\n</body>\n<script src=\"%24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\" onerror=\"alert('Error: Cannot load tiddlywiki.js');\"></script>\n</html>\n"
},
"$:/core/templates/html-div-skinny-tiddler": {
"title": "$:/core/templates/html-div-skinny-tiddler",
"text": "<!--\n\nThis template is a variant of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre></pre>\n</div>`\n"
},
"$:/core/templates/html-div-tiddler": {
"title": "$:/core/templates/html-div-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
},
"$:/core/templates/html-tiddler": {
"title": "$:/core/templates/html-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
},
"$:/core/templates/javascript-tiddler": {
"title": "$:/core/templates/javascript-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
},
"$:/core/templates/json-tiddler": {
"title": "$:/core/templates/json-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"
},
"$:/core/templates/module-tiddler": {
"title": "$:/core/templates/module-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
},
"$:/core/templates/plain-text-tiddler": {
"title": "$:/core/templates/plain-text-tiddler",
"text": "<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/raw-static-tiddler": {
"title": "$:/core/templates/raw-static-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
},
"$:/core/save/all": {
"title": "$:/core/save/all",
"text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/empty": {
"title": "$:/core/save/empty",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-all": {
"title": "$:/core/save/lazy-all",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-images": {
"title": "$:/core/save/lazy-images",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[is[image]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/templates/server/static.sidebar.wikitext": {
"title": "$:/core/templates/server/static.sidebar.wikitext",
"text": "\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\">\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n"
},
"$:/core/templates/server/static.tiddler.html": {
"title": "$:/core/templates/server/static.tiddler.html",
"text": "\\whitespace trim\n\\define tv-wikilink-template() $uri_encoded$\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\">\n<div class=\"tc-tiddler-frame\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>"
},
"$:/core/templates/server/static.tiddler.wikitext": {
"title": "$:/core/templates/server/static.tiddler.wikitext",
"text": "\\whitespace trim\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\">\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body\">\n<$transclude mode=\"block\"/>\n</div>\n"
},
"$:/core/templates/single.tiddler.window": {
"title": "$:/core/templates/single.tiddler.window",
"text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$vars\n\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\n\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\n\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\n\ttv-show-missing-links={{$:/config/MissingLinks}}\n\tstoryviewTitle={{$:/view}}\n\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"
},
"$:/core/templates/split-recipe": {
"title": "$:/core/templates/split-recipe",
"text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
},
"$:/core/templates/static-tiddler": {
"title": "$:/core/templates/static-tiddler",
"text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
},
"$:/core/templates/static.area": {
"title": "$:/core/templates/static.area",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n<!-- ensure splash screen isn't shown when JS is disabled -->\n`<style>\n.tc-remove-when-wiki-loaded {display: none;}\n</style>`\n"
},
"$:/core/templates/static.content": {
"title": "$:/core/templates/static.content",
"text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
},
"$:/core/templates/static.template.css": {
"title": "$:/core/templates/static.template.css",
"text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
},
"$:/core/templates/static.template.html": {
"title": "$:/core/templates/static.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
},
"$:/core/templates/static.tiddler.html": {
"title": "$:/core/templates/static.tiddler.html",
"text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river tc-static-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`\n"
},
"$:/core/templates/store.area.template.html": {
"title": "$:/core/templates/store.area.template.html",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n<$list filter={{{ [<skinnySaveTiddlerFilter>] }}} template=\"$:/core/templates/html-div-skinny-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
},
"$:/core/templates/tid-tiddler": {
"title": "$:/core/templates/tid-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/tiddler-metadata": {
"title": "$:/core/templates/tiddler-metadata",
"text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
},
"$:/core/templates/tiddlywiki5.html": {
"title": "$:/core/templates/tiddlywiki5.html",
"text": "<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n"
},
"$:/core/templates/version": {
"title": "$:/core/templates/version",
"text": "<<version>>"
},
"$:/core/templates/wikified-tiddler": {
"title": "$:/core/templates/wikified-tiddler",
"text": "<$transclude />"
},
"$:/core/ui/AboveStory/tw2-plugin-check": {
"title": "$:/core/ui/AboveStory/tw2-plugin-check",
"tags": "$:/tags/AboveStory",
"text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/Actions/new-image": {
"title": "$:/core/ui/Actions/new-image",
"tags": "$:/tags/Actions",
"description": "create a new image tiddler",
"text": "\\define get-type()\nimage/$(imageType)$\n\\end\n\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n<$vars imageType={{$:/config/NewImageType}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=<<get-type>> tags=<<get-tags>>/>\n</$vars>\n"
},
"$:/core/ui/Actions/new-journal": {
"title": "$:/core/ui/Actions/new-journal",
"tags": "$:/tags/Actions",
"description": "create a new journal tiddler",
"text": "\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$vars>\n"
},
"$:/core/ui/Actions/new-tiddler": {
"title": "$:/core/ui/Actions/new-tiddler",
"tags": "$:/tags/Actions",
"description": "create a new empty tiddler",
"text": "\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n<$vars textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<get-tags>>/>\n</$vars>\n"
},
"$:/core/ui/AdvancedSearch/Filter": {
"title": "$:/core/ui/AdvancedSearch/Filter",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Filter/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\" \n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\" type=\"search\" \n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} configTiddlerFilter=\"[[$:/temp/advancedsearch]]\" firstSearchFilterField=\"text\" \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> \n\t\tinputCancelActions=<<cancel-search-actions>>/>\n</$keyboard>\n</$keyboard>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</div>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=<<navigateTo>>/><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text=<<navigateTo>>/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/><$action-sendmessage $message=\"tm-focus-selector\" $param='.tc-advanced-search input' />\"\"\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
"title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
"tags": "$:/tags/AdvancedSearch/FilterButton",
"text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Shadows": {
"title": "$:/core/ui/AdvancedSearch/Shadows",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Shadows/Caption}}",
"first-search-filter": "[all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]",
"text": "\\define lingo-base() $:/language/Search/\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\"/>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\"\n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\" type=\"search\"\n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} configTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/Shadows]]\"\n\t\tinputCancelActions=<<cancel-search-actions>> inputAcceptActions=<<input-accept-actions>> \n\t\tinputAcceptVariantActions=<<input-accept-variant-actions>> filterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Standard": {
"title": "$:/core/ui/AdvancedSearch/Standard",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Standard/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define next-search-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/advancedsearch\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/standard/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\"/>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$keyboard key=\"shift-alt-Right\" actions=<<next-search-tab>>>\n<$keyboard key=\"shift-alt-Left\" actions=<<next-search-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\"\n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\" type=\"search\"\n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\"\n\t\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$vars userInput={{{ [[$:/temp/advancedsearch]get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} searchListState=\"$:/temp/advancedsearch/selected-item\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/standard/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab/search-results/advancedsearch\" />\n</$list>\n</$vars>\n</$list>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/System": {
"title": "$:/core/ui/AdvancedSearch/System",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/System/Caption}}",
"first-search-filter": "[is[system]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]",
"text": "\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\",stateTitle,tag,defaultState,currentTabTiddler) <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\" />\"\"\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\"/>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/advancedsearch/input\" storeTitle=\"$:/temp/advancedsearch\"\n\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\" selectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\t\ttype=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} configTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/System]]\"\n\t\tinputCancelActions=<<cancel-search-actions>> inputAcceptActions=<<input-accept-actions>> \n\t\tinputAcceptVariantActions=<<input-accept-variant-actions>> filterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/AdvancedSearch": {
"title": "$:/AdvancedSearch",
"icon": "$:/core/images/advanced-search-button",
"color": "#bbb",
"text": "<div class=\"tc-advanced-search\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" default=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab--1498284803\"/>\n</div>\n"
},
"$:/core/ui/AlertTemplate": {
"title": "$:/core/ui/AlertTemplate",
"text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/cancel-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$wikify name=\"format\" text=<<lingo Tiddler/DateFormat>>>\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=<<format>>/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</$wikify>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
},
"$:/core/ui/BinaryWarning": {
"title": "$:/core/ui/BinaryWarning",
"text": "\\define lingo-base() $:/language/BinaryWarning/\n<<lingo Prompt>>\n"
},
"$:/core/ui/Components/plugin-info": {
"title": "$:/core/ui/Components/plugin-info",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1>\n''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'': <$view field=\"description\"><$view field=\"title\"/></$view> $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n</$set>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"
},
"$:/core/ui/Components/tag-link": {
"title": "$:/core/ui/Components/tag-link",
"text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
},
"$:/core/ui/ControlPanel/Advanced": {
"title": "$:/core/ui/ControlPanel/Advanced",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
"text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/TiddlerFields\" explicitState=\"$:/state/tab--959111941\"/>\n</div>\n"
},
"$:/core/ui/ControlPanel/Appearance": {
"title": "$:/core/ui/ControlPanel/Appearance",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
"text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Theme\" explicitState=\"$:/state/tab--1963855381\"/>\n</div>\n"
},
"$:/core/ui/ControlPanel/Basics": {
"title": "$:/core/ui/ControlPanel/Basics",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Basics/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" tag=\"textarea\" class=\"tc-edit-texteditor\" default=\"\"/> |\n|<$link to=\"$:/config/NewTiddler/Tags\"><<lingo NewTiddler/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewTiddler/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewJournal/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/AutoFocus\"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
},
"$:/core/ui/ControlPanel/EditorTypes": {
"title": "$:/core/ui/ControlPanel/EditorTypes",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/Info": {
"title": "$:/core/ui/ControlPanel/Info",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Info/Caption}}",
"text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Basics\" explicitState=\"$:/state/tab--2112689675\"/>\n</div>\n"
},
"$:/core/ui/ControlPanel/KeyboardShortcuts": {
"title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n<small>{{$:/core/images/close-button}}</small>\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/LoadedModules": {
"title": "$:/core/ui/ControlPanel/LoadedModules",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
},
"$:/core/ui/ControlPanel/Modals/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
"subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
"text": "\\define install-plugin-actions()\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$set name=\"url\" value={{!!url}}>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url=<<url>> title=<<dependency>>/>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define install-plugin-button()\n<div>\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$set name=\"reinstall-type\" value={{{ [<libraryVersion>compare:version:eq<installedVersion>then[tc-reinstall]] [<libraryVersion>compare:version:gt<installedVersion>then[tc-reinstall-upgrade]] [<libraryVersion>compare:version:lt<installedVersion>then[tc-reinstall-downgrade]] }}}>\n<$button actions=<<install-plugin-actions>> class={{{ [<assetInfo>get[original-title]has[version]then<reinstall-type>] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\n{{$:/core/images/download-button}}\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\">\n<$list filter=\"[<libraryVersion>compare:version:gt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[<libraryVersion>compare:version:lt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\">\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\n</$list>\n\"\"\">\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\n</$list>\n</$list>\n</$button>\n<div>\n</div>\n<$reveal stateTitle=<<assetInfo>> stateField=\"requires-reload\" type=\"match\" text=\"yes\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>\n</$set>\n</$set>\n</$set>\n</div>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>: <$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-buttons\">\n<<install-plugin-button>>\n</div>\n</div>\n<$set name=\"original-title\" value={{{ [<assetInfo>get[original-title]] }}}>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]] ~[<assetInfo>get[original-title]!is[tiddler]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]!is[tiddler]]\">\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\n</$list>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]\" variable=\"ignore\">\n<div>\n{{$:/language/ControlPanel/Plugins/AlsoRequires}}\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$text text=<<dependency>>/>\n</$list>\n</div>\n</$list>\n</$set>\n</div>\n</$list>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-sub-plugins\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[name]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n</$list>\n</div>\n</$reveal>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<$reveal type=\"nomatch\" text=\"yes\" state=<<popup-state>> tag=\"div\" class=\"tc-plugin-info-sub-plugin-indicator\">\n<$wikify name=\"count\" text=\"\"\"<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>]\"/>\"\"\">\n<$button class=\"tc-btn-invisible\" set=<<popup-state>> setTo=\"yes\">\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\n</$button>\n</$wikify>\n</$reveal>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$list filter=\"[<currentTiddler>get[enabled]else[yes]match[yes]]\" variable=\"ignore\">\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n</$list>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[name]]\" variable=\"assetInfo\">\n<$list filter=\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]\" variable=\"ignore\"><!-- Hide sub-plugins if we're not searching -->\n<<display-plugin-info \"$type$\">>\n</$list>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<$set name=\"transclusion\" value=<<connectionTiddler>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Updates]] [[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$set>\n\n</$list>\n\\end\n\n\\define close-library-button()\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n<div class=\"tc-tab-set\">\n<$set name=\"defaultTab\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\n<div class=\"tc-tab-buttons\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$button set=<<qualify \"$:/state/addplugins/tab\">> setTo=<<currentTiddler>> default=<<defaultTab>> selectedClass=\"tc-tab-selected\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\"/>\n</$set>\n</$button>\n</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$reveal type=\"match\" state=<<qualify \"$:/state/addplugins/tab\">> text=<<currentTiddler>> default=<<defaultTab>>>\n<h2><$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link></h2>\n//<$view field=\"url\"/>//\n<$transclude mode=\"block\"/>\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n<<display-server-connection>>\n</$reveal>\n</$list>\n</div>\n</$set>\n</div>\n\\end\n\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<div>\n<<plugin-library-listing>>\n</div>\n"
},
"$:/core/ui/ControlPanel/Palette": {
"title": "$:/core/ui/ControlPanel/Palette",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Palette/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n"
},
"$:/core/ui/ControlPanel/Parsing": {
"title": "$:/core/ui/ControlPanel/Parsing",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<<rule>>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"
},
"$:/core/ui/ControlPanel/Plugins/Add/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
"text": "<<display-server-assets language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
"text": "<<display-server-assets plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
"text": "<<display-server-assets theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Add/Updates": {
"title": "$:/core/ui/ControlPanel/Plugins/Add/Updates",
"caption": "<$importvariables filter=\"$:/core/ui/ControlPanel/Plugins/Add/Updates\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<<update-count>>)</$importvariables>",
"text": "\\define each-updateable-plugin(body)\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\" variable=\"assetInfo\">\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$list filter=\"[<assetInfo>get[original-title]has[version]!version<libraryVersion>]\" variable=\"ignore\">\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$list filter=\"[<installedversion>!match<libraryVersion>]\" variable=\"ignore\">\n$body$\n</$list>\n</$set>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define update-all-actions()\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<<install-plugin-actions>>\n\"\"\"/>\n\\end\n\n\\define update-count()\n<$wikify name=\"count-filter\" text=<<each-updateable-plugin \"[[<$text text=<<assetInfo>>/>]]\">>><$count filter=<<count-filter>>/></$wikify>\n\\end\n\n<$button actions=<<update-all-actions>> class=\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\">\n{{$:/core/images/download-button}} {{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\n</$button>\n\n<div class=\"tc-plugin-library-listing\">\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<$macrocall $name=\"display-plugin-info\" type={{{ [<assetInfo>get[original-plugin-type]] }}}/>\n\"\"\"/>\n</div>\n"
},
"$:/core/ui/ControlPanel/Plugins/AddPlugins": {
"title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
"text": "<<plugin-table language>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
"text": "<<plugin-table plugin>>\n"
},
"$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
"title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
"text": "<<plugin-table theme>>\n"
},
"$:/core/ui/ControlPanel/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[name]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<$macrocall $name=\"tabs\" tabsList=\"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" default=\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\" explicitState=\"$:/state/tab--86143343\"/>\n"
},
"$:/core/ui/ControlPanel/Saving/DownloadSaver": {
"title": "$:/core/ui/ControlPanel/Saving/DownloadSaver",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<<lingo Hint>>\n\n!! <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<lingo AutoSave/Description>> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Saving/General": {
"title": "$:/core/ui/ControlPanel/Saving/General",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/General/Caption}}",
"list-before": "",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!! <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo AutoSave/Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo AutoSave/Disabled/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Saving/GitHub": {
"title": "$:/core/ui/ControlPanel/Saving/GitHub",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\"/> |"
},
"$:/core/ui/ControlPanel/Saving/GitLab": {
"title": "$:/core/ui/ControlPanel/Saving/GitLab",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\"/> |"
},
"$:/core/ui/ControlPanel/Saving/TiddlySpot": {
"title": "$:/core/ui/ControlPanel/Saving/TiddlySpot",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define siteURL(path)\nhttp://$(userName)$.tiddlyspot.com/$path$/\n\\end\n\\define siteLink(path)\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<siteURL $path$>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<div class=\"tc-message-box\">\n\n<<lingo ReadOnly>>\n\n</div>\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n|<<lingo Backups>> |<<siteLink backup>> |\n|<<lingo ControlPanel>> |<<siteLink controlpanel>> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>\n"
},
"$:/core/ui/ControlPanel/Saving/Gitea": {
"title": "$:/core/ui/ControlPanel/Saving/Gitea",
"tags": "$:/tags/ControlPanel/Saving",
"caption": "{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~Gitea\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/Gitea/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo Gitea/Password>> |<$password name=\"Gitea\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/Gitea/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/Gitea/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/Gitea/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/Gitea/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/Gitea/ServerURL\" default=\"https://gitea/api/v1\" tag=\"input\"/> |\n"
},
"$:/core/ui/ControlPanel/Saving": {
"title": "$:/core/ui/ControlPanel/Saving",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Saving/Caption}}",
"text": "{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Saving/General\" explicitState=\"$:/state/tab-2065006209\"/>\n</div>\n"
},
"$:/core/buttonstyles/Borderless": {
"title": "$:/core/buttonstyles/Borderless",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
"text": "tc-btn-invisible"
},
"$:/core/buttonstyles/Boxed": {
"title": "$:/core/buttonstyles/Boxed",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
"text": "tc-btn-boxed"
},
"$:/core/buttonstyles/Rounded": {
"title": "$:/core/buttonstyles/Rounded",
"tags": "$:/tags/ToolbarButtonStyle",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
"text": "tc-btn-rounded"
},
"$:/core/ui/ControlPanel/Settings/CamelCase": {
"title": "$:/core/ui/ControlPanel/Settings/CamelCase",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab": {
"title": "$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab",
"caption": "{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}",
"tags": "$:/tags/ControlPanel/Settings",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
"title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
"caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
"tags": "$:/tags/ControlPanel/Settings",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/InfoPanelMode": {
"title": "$:/core/ui/ControlPanel/Settings/InfoPanelMode",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n<$link to=\"$:/config/TiddlerInfo/Mode\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\"> <<lingo Popup/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\"> <<lingo Sticky/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
"title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n <option value=\"above\"><<lingo \"OpenAbove\">></option>\n <option value=\"below\"><<lingo \"OpenBelow\">></option>\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/MissingLinks": {
"title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationHistory": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"><<lingo CopyToClipboard/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"><<lingo UpdateAddressBar/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
"title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings/TitleLinks": {
"title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings": {
"title": "$:/core/ui/ControlPanel/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Settings/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/StoryView": {
"title": "$:/core/ui/ControlPanel/StoryView",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
"text": "{{$:/snippets/viewswitcher}}\n"
},
"$:/core/ui/ControlPanel/Stylesheets": {
"title": "$:/core/ui/ControlPanel/Stylesheets",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/Stylesheets/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n"
},
"$:/core/ui/ControlPanel/Theme": {
"title": "$:/core/ui/ControlPanel/Theme",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Theme/Caption}}",
"text": "{{$:/snippets/themeswitcher}}\n"
},
"$:/core/ui/ControlPanel/TiddlerFields": {
"title": "$:/core/ui/ControlPanel/TiddlerFields",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
},
"$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"
},
"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span> <$transclude field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ItemTemplate": {
"title": "$:/core/ui/ControlPanel/Toolbars/ItemTemplate",
"text": "\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <span class=\"tc-icon-wrapper\"> <$transclude field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude field=\"description\"/></i></span>\n</$draggable>\n"
},
"$:/core/ui/ControlPanel/Toolbars/PageControls": {
"title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars": {
"title": "$:/core/ui/ControlPanel/Toolbars",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
"text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" class=\"tc-vertical\" explicitState=\"$:/state/tabs/controlpanel/toolbars-1345989671\"/>\n</div>\n"
},
"$:/ControlPanel": {
"title": "$:/ControlPanel",
"icon": "$:/core/images/options-button",
"color": "#bbb",
"text": "<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Info\" explicitState=\"$:/state/tab-1749438307\"/>\n</div>\n"
},
"$:/core/ui/DefaultSearchResultList": {
"title": "$:/core/ui/DefaultSearchResultList",
"tags": "$:/tags/SearchResults",
"caption": "{{$:/language/Search/DefaultResults/Caption}}",
"first-search-filter": "[!is[system]search:title<userInput>sort[title]limit[250]]",
"second-search-filter": "[!is[system]search<userInput>sort[title]limit[250]]",
"text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n\\end\n<<searchResultList>>\n"
},
"$:/core/ui/EditTemplate/body/preview/diffs-current": {
"title": "$:/core/ui/EditTemplate/body/preview/diffs-current",
"tags": "$:/tags/EditPreview",
"caption": "differences from current",
"list-after": "$:/core/ui/EditTemplate/body/preview/output",
"text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
},
"$:/core/ui/EditTemplate/body/preview/diffs-shadow": {
"title": "$:/core/ui/EditTemplate/body/preview/diffs-shadow",
"tags": "$:/tags/EditPreview",
"caption": "differences from shadow (if any)",
"list-after": "$:/core/ui/EditTemplate/body/preview/output",
"text": "<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
},
"$:/core/ui/EditTemplate/body/preview/output": {
"title": "$:/core/ui/EditTemplate/body/preview/output",
"tags": "$:/tags/EditPreview",
"caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
"text": "\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
},
"$:/state/showeditpreview": {
"title": "$:/state/showeditpreview",
"text": "no"
},
"$:/core/ui/EditTemplate/body/editor": {
"title": "$:/core/ui/EditTemplate/body/editor",
"text": "<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor tc-edit-texteditor-body\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n tabindex={{$:/config/EditTabIndex}}\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\n cancelPopups=\"yes\"\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
},
"$:/core/ui/EditTemplate/body/toolbar/button": {
"title": "$:/core/ui/EditTemplate/body/toolbar/button",
"text": "\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n\n><span\n\n data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
},
"$:/core/ui/EditTemplate/body": {
"title": "$:/core/ui/EditTemplate/body",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[all[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[all[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/EditTemplate/controls": {
"title": "$:/core/ui/EditTemplate/controls",
"tags": "$:/tags/EditTemplate",
"text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
},
"$:/core/ui/EditTemplate/fields": {
"title": "$:/core/ui/EditTemplate/fields",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define current-tiddler-new-field-selector()\n[data-tiddler-title=\"$(currentTiddlerCSSescaped)$\"] .tc-edit-field-add-name-wrapper input\n\\end\n\n\\define new-field-actions()\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<storeTitle>] [<searchListState>]\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/>\n\\end\n\n\\define delete-state-tiddlers() <$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\n\\define cancel-search-actions-inner()\n<$list filter=\"[<storeTitle>has[text]] [<newFieldNameTiddler>has[text]]\" variable=\"ignore\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\">\n<<delete-state-tiddlers>>\n</$list>\n\\end\n\n\\define cancel-search-actions()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[<newFieldNameTiddler>get[text]!match<userInput>]\" emptyMessage=\"\"\"<<cancel-search-actions-inner>>\"\"\">\n<$action-setfield $tiddler=<<newFieldNameTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\n\n\\define new-field()\n<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button tooltip=<<lingo Fields/Add/Button/Hint>>>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<storeTitle>] [<searchListState>]\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\\whitespace trim\n\n<div class=\"tc-edit-fields\">\n<table class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] +[count[]!match[0]] +[then[tc-edit-fields]] ~[[tc-edit-fields tc-edit-fields-small]] }}}>\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$keyboard key=\"((delete-field))\" actions=\"\"\"<$action-deletefield $field=<<currentField>>/><$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/></$set>\"\"\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>\n</$keyboard>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/><$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/></$set>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit tc-big-gap-right\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<$vars refreshTitle=<<qualify \"$:/temp/fieldname/refresh\">> storeTitle=<<newFieldNameInputTiddler>> searchListState=<<newFieldNameSelectionTiddler>>>\n<div class=\"tc-edit-field-add-name-wrapper\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>\n\t\tselectionStateTitle=<<searchListState>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\n\t\tfocusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}}\n\t\tfocus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups=\"yes\"\n\t\tconfigTiddlerFilter=\"[[$:/config/EditMode/fieldname-filter]]\" inputCancelActions=<<cancel-search-actions>> />\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown tc-small-gap\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=<<newFieldNameTiddler>>>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$set name=\"newFieldName\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$list filter=\"[<currentField>addsuffix[-primaryList]] -[<searchListState>get[text]]\" emptyMessage=\"\"\"<$link to=<<currentField>> class=\"tc-list-item-selected\"><$text text=<<currentField>>/></$link>\"\"\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$list filter=\"[<currentField>addsuffix[-secondaryList]] -[<searchListState>get[text]]\" emptyMessage=\"\"\"<$link to=<<currentField>> class=\"tc-list-item-selected\"><$text text=<<currentField>>/></$link>\"\"\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$list>\n</$set>\n</$linkcatcher>\n</$set>\n</div>\n</$reveal>\n</div>\n<span class=\"tc-edit-field-add-value tc-small-gap-right\">\n<$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}>\n<$keyboard key=\"((add-field))\" actions=<<new-field-actions>>>\n<$edit-text tiddler=<<newFieldValueTiddler>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>\n</$keyboard>\n</$set>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</$vars>\n</div>\n</$fieldmangler>\n"
},
"$:/core/ui/EditTemplate/shadow": {
"title": "$:/core/ui/EditTemplate/shadow",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
},
"$:/core/ui/EditTemplate/tags": {
"title": "$:/core/ui/EditTemplate/tags",
"tags": "$:/tags/EditTemplate",
"text": "\\whitespace trim\n\n\\define lingo-base() $:/language/EditTemplate/\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\"tags\")\n\\whitespace trim\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label tc-tag-list-item\">\n<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view field=\"title\" format=\"text\" />\n<$button class=\"tc-btn-invisible tc-remove-tag-button\"><$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"-[{!!title}]\"/>{{$:/core/images/close-button}}</$button>\n</span>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette,icon,tagField:\"tags\")\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon=\"\"\"$icon$\"\"\" tagField=<<__tagField__>>/>\n\\end\n\n\\define edit-tags-template(tagField:\"tags\")\n\\whitespace trim\n<div class=\"tc-edit-tags\">\n<$list filter=\"[list[!!$tagField$]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}} tagField=<<__tagField__>>/>\n</$list>\n<$vars tabIndex={{$:/config/EditTabIndex}} cancelPopups=\"yes\">\n<$macrocall $name=\"tag-picker\" tagField=<<__tagField__>>/>\n</$vars>\n</div>\n\\end\n<$set name=\"saveTiddler\" value=<<currentTiddler>>>\n<$macrocall $name=\"edit-tags-template\" tagField=<<tagField>>/>\n</$set>\n"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"
},
"$:/core/ui/EditTemplate/type": {
"title": "$:/core/ui/EditTemplate/type",
"tags": "$:/tags/EditTemplate",
"first-search-filter": "[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define input-cancel-actions() <$list filter=\"[<storeTitle>get[text]] [<currentTiddler>get[type]] +[limit[1]]\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\"><$action-sendmessage $message=\"tm-remove-field\" $param=\"type\"/><$action-deletetiddler $filter=\"[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]\"/></$list>\n\\whitespace trim\n<$set name=\"refreshTitle\" value=<<qualify \"$:/temp/type-search/refresh\">>>\n<div class=\"tc-edit-type-selector-wrapper\">\n<em class=\"tc-edit tc-big-gap-right\"><<lingo Type/Prompt>></em>\n<div class=\"tc-type-selector-dropdown-wrapper\">\n<div class=\"tc-type-selector\"><$fieldmangler>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>> selectionStateTitle=<<typeSelectionTiddler>> field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}} cancelPopups=\"yes\" configTiddlerFilter=\"[[$:/core/ui/EditTemplate/type]]\" inputCancelActions=<<input-cancel-actions>>/><$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown tc-small-gap\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter=\"[<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]\"/></$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$set name=\"userInput\" value={{{ [<typeInputTiddler>get[text]] }}}>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search<userInput>]\"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] -[<typeSelectionTiddler>get[text]] +[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"description\"/> (<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"name\"/>)</$link></span>\n</$list>\n</$set>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n</div>\n</div>\n</$set>\n"
},
"$:/core/ui/EditTemplate": {
"title": "$:/core/ui/EditTemplate",
"text": "\\define delete-edittemplate-state-tiddlers() <$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]\"/>\n\\define save-tiddler-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\\define cancel-delete-tiddler-actions(message)\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\end\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}>\n<$fieldmangler>\n<$vars storyTiddler=<<currentTiddler>> newTagNameTiddler=<<qualify \"$:/temp/NewTagName\">> newFieldNameTiddler=<<qualify \"$:/temp/NewFieldName\">> newFieldValueTiddler=<<qualify \"$:/temp/NewFieldValue\">> newFieldNameInputTiddler=<<qualify \"$:/temp/NewFieldName/input\">> newFieldNameSelectionTiddler=<<qualify \"$:/temp/NewFieldName/selected-item\">> newTagNameInputTiddler=<<qualify \"$:/temp/NewTagName/input\">> newTagNameSelectionTiddler=<<qualify \"$:/temp/NewTagName/selected-item\">> typeInputTiddler=<<qualify \"$:/temp/Type/input\">> typeSelectionTiddler=<<qualify \"$:/temp/Type/selected-item\">>>\n<$keyboard key=\"((cancel-edit-tiddler))\" actions=<<cancel-delete-tiddler-actions \"cancel\">>>\n<$keyboard key=\"((save-tiddler))\" actions=<<save-tiddler-actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>>/>\n</$set>\n</$list>\n</$keyboard>\n</$keyboard>\n</$vars>\n</$fieldmangler>\n</div>\n"
},
"$:/core/ui/Buttons/cancel": {
"title": "$:/core/ui/Buttons/cancel",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
"description": "{{$:/language/Buttons/Cancel/Hint}}",
"text": "\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"cancel\">> tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/delete": {
"title": "$:/core/ui/Buttons/delete",
"tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
"caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
"description": "{{$:/language/Buttons/Delete/Hint}}",
"text": "\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"delete\">> tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/save": {
"title": "$:/core/ui/Buttons/save",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
"description": "{{$:/language/Buttons/Save/Hint}}",
"text": "\\define save-tiddler-button()\n\\whitespace trim\n<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<<save-tiddler-actions>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button></$fieldmangler>\n\\end\n<<save-tiddler-button>>\n"
},
"$:/core/ui/EditorToolbar/bold": {
"title": "$:/core/ui/EditorToolbar/bold",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/bold",
"caption": "{{$:/language/Buttons/Bold/Caption}}",
"description": "{{$:/language/Buttons/Bold/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((bold))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
},
"$:/core/ui/EditorToolbar/clear-dropdown": {
"title": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
},
"$:/core/ui/EditorToolbar/clear": {
"title": "$:/core/ui/EditorToolbar/clear",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/erase",
"caption": "{{$:/language/Buttons/Clear/Caption}}",
"description": "{{$:/language/Buttons/Clear/Hint}}",
"condition": "[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]",
"dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/editor-height-dropdown": {
"title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
},
"$:/core/ui/EditorToolbar/editor-height": {
"title": "$:/core/ui/EditorToolbar/editor-height",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/fixed-height",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
"description": "{{$:/language/Buttons/EditorHeight/Hint}}",
"condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]",
"dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
"text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/excise-dropdown": {
"title": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
},
"$:/core/ui/EditorToolbar/excise": {
"title": "$:/core/ui/EditorToolbar/excise",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/excise",
"caption": "{{$:/language/Buttons/Excise/Caption}}",
"description": "{{$:/language/Buttons/Excise/Hint}}",
"condition": "[<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] +[first[]]",
"shortcuts": "((excise))",
"dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/heading-1": {
"title": "$:/core/ui/EditorToolbar/heading-1",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-1",
"caption": "{{$:/language/Buttons/Heading1/Caption}}",
"description": "{{$:/language/Buttons/Heading1/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((heading-1))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-2": {
"title": "$:/core/ui/EditorToolbar/heading-2",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-2",
"caption": "{{$:/language/Buttons/Heading2/Caption}}",
"description": "{{$:/language/Buttons/Heading2/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-2))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-3": {
"title": "$:/core/ui/EditorToolbar/heading-3",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-3",
"caption": "{{$:/language/Buttons/Heading3/Caption}}",
"description": "{{$:/language/Buttons/Heading3/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-3))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/core/ui/EditorToolbar/heading-4",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-4",
"caption": "{{$:/language/Buttons/Heading4/Caption}}",
"description": "{{$:/language/Buttons/Heading4/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-4))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/core/ui/EditorToolbar/heading-5",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-5",
"caption": "{{$:/language/Buttons/Heading5/Caption}}",
"description": "{{$:/language/Buttons/Heading5/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-5))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
},
"$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/core/ui/EditorToolbar/heading-6",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/heading-6",
"caption": "{{$:/language/Buttons/Heading6/Caption}}",
"description": "{{$:/language/Buttons/Heading6/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((heading-6))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
},
"$:/core/ui/EditorToolbar/italic": {
"title": "$:/core/ui/EditorToolbar/italic",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/italic",
"caption": "{{$:/language/Buttons/Italic/Caption}}",
"description": "{{$:/language/Buttons/Italic/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((italic))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
},
"$:/core/ui/EditorToolbar/line-width-dropdown": {
"title": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/line-width": {
"title": "$:/core/ui/EditorToolbar/line-width",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/line-width",
"caption": "{{$:/language/Buttons/LineWidth/Caption}}",
"description": "{{$:/language/Buttons/LineWidth/Hint}}",
"condition": "[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]",
"dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>\n"
},
"$:/core/ui/EditorToolbar/link-dropdown": {
"title": "$:/core/ui/EditorToolbar/link-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $filter=\"[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\\end\n\n\\define get-focus-selector() [data-tiddler-title=\"$(cssEscapedTitle)$\"] .tc-create-wikitext-link input\n\n\\define cancel-search-actions-inner()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}><$list filter=\"[<searchTiddler>get[text]!match<userInput>]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\"\"\"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/></$list></$set>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]\" emptyMessage=\"\"\"<<cancel-search-actions-inner>>\"\"\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"wrap-selection\" prefix=\"\" suffix=\"\"/></$list>\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" searchListState=<<qualify \"$:/temp/link-search/selected-item\">> refreshTitle=<<qualify \"$:/temp/link-search/refresh\">> storeTitle=<<qualify \"$:/temp/link-search/input\">>>\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">> class=\"tc-create-wikitext-link\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>\n\t\tselectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type=\"search\" filterMinLength=\"1\"\n\t\ttag=\"input\" focus=\"true\" class=\"tc-popup-handle\" inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=\"\" \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</$keyboard>\n</$keyboard>\n<$reveal tag=\"span\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<<cancel-search-actions>><$set name=\"cssEscapedTitle\" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-focus-selector>>/></$set>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$vars>\n\n<$reveal tag=\"div\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>\n"
},
"$:/core/ui/EditorToolbar/link": {
"title": "$:/core/ui/EditorToolbar/link",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/link",
"caption": "{{$:/language/Buttons/Link/Caption}}",
"description": "{{$:/language/Buttons/Link/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((link))",
"dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/linkify": {
"title": "$:/core/ui/EditorToolbar/linkify",
"caption": "{{$:/language/Buttons/Linkify/Caption}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Buttons/Linkify/Hint}}",
"icon": "$:/core/images/linkify",
"list-before": "$:/core/ui/EditorToolbar/mono-block",
"shortcuts": "((linkify))",
"tags": "$:/tags/EditorToolbar",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n/>\n"
},
"$:/core/ui/EditorToolbar/list-bullet": {
"title": "$:/core/ui/EditorToolbar/list-bullet",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-bullet",
"caption": "{{$:/language/Buttons/ListBullet/Caption}}",
"description": "{{$:/language/Buttons/ListBullet/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-bullet))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/list-number": {
"title": "$:/core/ui/EditorToolbar/list-number",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/list-number",
"caption": "{{$:/language/Buttons/ListNumber/Caption}}",
"description": "{{$:/language/Buttons/ListNumber/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((list-number))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-block": {
"title": "$:/core/ui/EditorToolbar/mono-block",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-block",
"caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
"description": "{{$:/language/Buttons/MonoBlock/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((mono-block))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
},
"$:/core/ui/EditorToolbar/mono-line": {
"title": "$:/core/ui/EditorToolbar/mono-line",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/mono-line",
"caption": "{{$:/language/Buttons/MonoLine/Caption}}",
"description": "{{$:/language/Buttons/MonoLine/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((mono-line))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
},
"$:/core/ui/EditorToolbar/more-dropdown": {
"title": "$:/core/ui/EditorToolbar/more-dropdown",
"text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
},
"$:/core/ui/EditorToolbar/more": {
"title": "$:/core/ui/EditorToolbar/more",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/down-arrow",
"caption": "{{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"condition": "[<targetTiddler>]",
"dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/opacity-dropdown": {
"title": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/EditorToolbar/opacity": {
"title": "$:/core/ui/EditorToolbar/opacity",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/opacity",
"caption": "{{$:/language/Buttons/Opacity/Caption}}",
"description": "{{$:/language/Buttons/Opacity/Hint}}",
"condition": "[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]",
"dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
"text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
},
"$:/core/ui/EditorToolbar/paint-dropdown": {
"title": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/paint": {
"title": "$:/core/ui/EditorToolbar/paint",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/paint",
"caption": "{{$:/language/Buttons/Paint/Caption}}",
"description": "{{$:/language/Buttons/Paint/Hint}}",
"condition": "[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]",
"dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
"text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
},
"$:/core/ui/EditorToolbar/picture-dropdown": {
"title": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
},
"$:/core/ui/EditorToolbar/picture": {
"title": "$:/core/ui/EditorToolbar/picture",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/picture",
"caption": "{{$:/language/Buttons/Picture/Caption}}",
"description": "{{$:/language/Buttons/Picture/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((picture))",
"dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/preview-type-dropdown": {
"title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
"text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
},
"$:/core/ui/EditorToolbar/preview-type": {
"title": "$:/core/ui/EditorToolbar/preview-type",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/chevron-down",
"caption": "{{$:/language/Buttons/PreviewType/Caption}}",
"description": "{{$:/language/Buttons/PreviewType/Hint}}",
"condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
"button-classes": "tc-text-editor-toolbar-item-adjunct",
"dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
},
"$:/core/ui/EditorToolbar/preview": {
"title": "$:/core/ui/EditorToolbar/preview",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/preview-open",
"custom-icon": "yes",
"caption": "{{$:/language/Buttons/Preview/Caption}}",
"description": "{{$:/language/Buttons/Preview/Hint}}",
"condition": "[<targetTiddler>]",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"shortcuts": "((preview))",
"text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
},
"$:/core/ui/EditorToolbar/quote": {
"title": "$:/core/ui/EditorToolbar/quote",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/quote",
"caption": "{{$:/language/Buttons/Quote/Caption}}",
"description": "{{$:/language/Buttons/Quote/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((quote))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
},
"$:/core/ui/EditorToolbar/rotate-left": {
"title": "$:/core/ui/EditorToolbar/rotate-left",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/rotate-left",
"caption": "{{$:/language/Buttons/RotateLeft/Caption}}",
"description": "{{$:/language/Buttons/RotateLeft/Hint}}",
"condition": "[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n"
},
"$:/core/ui/EditorToolbar/size-dropdown": {
"title": "$:/core/ui/EditorToolbar/size-dropdown",
"text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
},
"$:/core/ui/EditorToolbar/size": {
"title": "$:/core/ui/EditorToolbar/size",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/size",
"caption": "{{$:/language/Buttons/Size/Caption}}",
"description": "{{$:/language/Buttons/Size/Hint}}",
"condition": "[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]",
"dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/stamp-dropdown": {
"title": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n</$list>\n\n\n<$list filter=\"[[$(snippetTitle)$]addsuffix[/prefix]is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]is[missing]] [[$(snippetTitle)$]addsuffix[/prefix]!is[missing]removesuffix[/prefix]addsuffix[/suffix]!is[missing]]\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [[$(snippetTitle)$]addsuffix[/prefix]get[text]] }}}\nsuffix={{{ [[$(snippetTitle)$]addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" />\n\n</$transclude>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
},
"$:/core/ui/EditorToolbar/stamp": {
"title": "$:/core/ui/EditorToolbar/stamp",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/stamp",
"caption": "{{$:/language/Buttons/Stamp/Caption}}",
"description": "{{$:/language/Buttons/Stamp/Hint}}",
"condition": "[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]",
"shortcuts": "((stamp))",
"dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
"text": ""
},
"$:/core/ui/EditorToolbar/strikethrough": {
"title": "$:/core/ui/EditorToolbar/strikethrough",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/strikethrough",
"caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
"description": "{{$:/language/Buttons/Strikethrough/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((strikethrough))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
},
"$:/core/ui/EditorToolbar/subscript": {
"title": "$:/core/ui/EditorToolbar/subscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/subscript",
"caption": "{{$:/language/Buttons/Subscript/Caption}}",
"description": "{{$:/language/Buttons/Subscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((subscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
},
"$:/core/ui/EditorToolbar/superscript": {
"title": "$:/core/ui/EditorToolbar/superscript",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/superscript",
"caption": "{{$:/language/Buttons/Superscript/Caption}}",
"description": "{{$:/language/Buttons/Superscript/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((superscript))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
},
"$:/core/ui/EditorToolbar/transcludify": {
"title": "$:/core/ui/EditorToolbar/transcludify",
"caption": "{{$:/language/Buttons/Transcludify/Caption}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Buttons/Transcludify/Hint}}",
"icon": "$:/core/images/transcludify",
"list-before": "$:/core/ui/EditorToolbar/mono-block",
"shortcuts": "((transcludify))",
"tags": "$:/tags/EditorToolbar",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n/>\n"
},
"$:/core/ui/EditorToolbar/underline": {
"title": "$:/core/ui/EditorToolbar/underline",
"tags": "$:/tags/EditorToolbar",
"icon": "$:/core/images/underline",
"caption": "{{$:/language/Buttons/Underline/Caption}}",
"description": "{{$:/language/Buttons/Underline/Hint}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"shortcuts": "((underline))",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
},
"$:/core/Filters/AllTags": {
"title": "$:/core/Filters/AllTags",
"tags": "$:/tags/Filter",
"filter": "[tags[]!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTags}}",
"text": ""
},
"$:/core/Filters/AllTiddlers": {
"title": "$:/core/Filters/AllTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTiddlers}}",
"text": ""
},
"$:/core/Filters/Drafts": {
"title": "$:/core/Filters/Drafts",
"tags": "$:/tags/Filter",
"filter": "[has[draft.of]sort[title]]",
"description": "{{$:/language/Filters/Drafts}}",
"text": ""
},
"$:/core/Filters/Missing": {
"title": "$:/core/Filters/Missing",
"tags": "$:/tags/Filter",
"filter": "[all[missing]sort[title]]",
"description": "{{$:/language/Filters/Missing}}",
"text": ""
},
"$:/core/Filters/Orphans": {
"title": "$:/core/Filters/Orphans",
"tags": "$:/tags/Filter",
"filter": "[all[orphans]sort[title]]",
"description": "{{$:/language/Filters/Orphans}}",
"text": ""
},
"$:/core/Filters/OverriddenShadowTiddlers": {
"title": "$:/core/Filters/OverriddenShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[shadow]]",
"description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentSystemTiddlers": {
"title": "$:/core/Filters/RecentSystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentSystemTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentTiddlers": {
"title": "$:/core/Filters/RecentTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentTiddlers}}",
"text": ""
},
"$:/core/Filters/SessionTiddlers": {
"title": "$:/core/Filters/SessionTiddlers",
"tags": "$:/tags/Filter",
"filter": "[haschanged[]]",
"description": "{{$:/language/Filters/SessionTiddlers}}",
"text": ""
},
"$:/core/Filters/ShadowTiddlers": {
"title": "$:/core/Filters/ShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[all[shadows]sort[title]]",
"description": "{{$:/language/Filters/ShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/StoryList": {
"title": "$:/core/Filters/StoryList",
"tags": "$:/tags/Filter",
"filter": "[list[$:/StoryList]] -$:/AdvancedSearch",
"description": "{{$:/language/Filters/StoryList}}",
"text": ""
},
"$:/core/Filters/SystemTags": {
"title": "$:/core/Filters/SystemTags",
"tags": "$:/tags/Filter",
"filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTags}}",
"text": ""
},
"$:/core/Filters/SystemTiddlers": {
"title": "$:/core/Filters/SystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTiddlers}}",
"text": ""
},
"$:/core/Filters/TypedTiddlers": {
"title": "$:/core/Filters/TypedTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
"description": "{{$:/language/Filters/TypedTiddlers}}",
"text": ""
},
"$:/core/ui/ImportListing": {
"title": "$:/core/ui/ImportListing",
"text": "\\define lingo-base() $:/language/Import/\n\n\\define messageField() message-$(payloadTiddler)$\n\n\\define payloadTitleFilter() [<currentTiddler>get<renameField>minlength[1]else<payloadTiddler>]\n\n\\define overWriteWarning()\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\">\n<$text text={{{[subfilter<payloadTitleFilter>!is[tiddler]then[]] ~[<lingo-base>addsuffix[Listing/Rename/OverwriteWarning]get[text]]}}}/>\n</$list>\n\\end\n\n\\define selectionField() selection-$(payloadTiddler)$\n\n\\define renameField() rename-$(payloadTiddler)$\n\n\\define suppressedField() suppressed-$(payloadTiddler)$\n\n\\define newImportTitleTiddler() $:/temp/NewImportTitle-$(payloadTiddler)$\n\n\\define previewPopupState() $(currentTiddler)$!!popup-$(payloadTiddler)$\n\n\\define renameFieldState() $(currentTiddler)$!!state-rename-$(payloadTiddler)$\n\n\\define select-all-actions()\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n<table class=\"tc-import-table\">\n<tbody>\n<tr>\n<th align=\"left\">\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr class={{{[<currentTiddler>has<suppressedField>then[tc-row-disabled]] ~[subfilter<payloadTitleFilter>is[tiddler]then[tc-row-warning]] }}}>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\" tag=\"div\" class=\"tc-flex\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown tc-flex-grow-1 tc-word-break\" set=<<previewPopupState>> setTo=\"yes\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}>\n<span class=\"tc-small-gap-right\">{{$:/core/images/right-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\"><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"yes\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/Tooltip]get[text]]}}}>{{$:/core/images/edit-button}}</$button></$list>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n<span class=\"tc-small-gap-right\">{{$:/core/images/down-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$text text={{{[<lingo-base>addsuffix[Listing/Rename/Prompt]get[text]]}}}/>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n<<overWriteWarning>>\n</td>\n</tr>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"tr\">\n<td colspan=\"3\">\n<div class=\"tc-flex\">\n<$edit-text tiddler=<<newImportTitleTiddler>> default={{{[subfilter<payloadTitleFilter>]}}} tag=\"input\" class=\"tc-import-rename tc-flex-grow-1\"/><span class=\"tc-small-gap-left\"><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"no\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/CancelRename]get[text]]}}}>{{$:/core/images/close-button}}<$action-deletetiddler $tiddler=<<newImportTitleTiddler>>/></$button><span class=\"tc-small-gap-right\"/></span><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"no\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/ConfirmRename]get[text]]}}}>{{$:/core/images/done-button}}<$action-setfield $field=<<renameField>> $value={{{[<newImportTitleTiddler>get[text]minlength[1]else<payloadTiddler>]}}} /><$action-deletetiddler $tiddler=<<newImportTitleTiddler>>/></$button>\n</div>\n</td>\n</$reveal>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>> tag=\"div\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n<$transclude tiddler={{$:/state/importpreviewtype}}/>\n</$list>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ImportPreviews/Diff": {
"title": "$:/core/ui/ImportPreviews/Diff",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/Diff}}",
"text": "<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n"
},
"$:/core/ui/ImportPreviews/DiffFields": {
"title": "$:/core/ui/ImportPreviews/DiffFields",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/DiffFields}}",
"text": "<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n"
},
"$:/core/ui/ImportPreviews/Fields": {
"title": "$:/core/ui/ImportPreviews/Fields",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/Fields}}",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ImportPreviews/Text": {
"title": "$:/core/ui/ImportPreviews/Text",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/Text}}",
"text": "<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n"
},
"$:/core/ui/ImportPreviews/TextRaw": {
"title": "$:/core/ui/ImportPreviews/TextRaw",
"tags": "$:/tags/ImportPreview",
"caption": "{{$:/language/Import/Listing/Preview/TextRaw}}",
"text": "<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>"
},
"$:/core/ui/KeyboardShortcuts/advanced-search": {
"title": "$:/core/ui/KeyboardShortcuts/advanced-search",
"tags": "$:/tags/KeyboardShortcut",
"key": "((advanced-search))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/>\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/change-sidebar-layout": {
"title": "$:/core/ui/KeyboardShortcuts/change-sidebar-layout",
"tags": "$:/tags/KeyboardShortcut",
"key": "((change-sidebar-layout))",
"text": "<$list filter=\"[{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}match[fixed-fluid]]\" \nemptyMessage=\"\"\"<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" text=\"fixed-fluid\"/>\"\"\">\n<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" text=\"fluid-fixed\"/>\n</$list>\n"
},
"$:/core/ui/KeyboardShortcuts/new-image": {
"title": "$:/core/ui/KeyboardShortcuts/new-image",
"tags": "$:/tags/KeyboardShortcut",
"key": "((new-image))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/new-journal": {
"title": "$:/core/ui/KeyboardShortcuts/new-journal",
"tags": "$:/tags/KeyboardShortcut",
"key": "((new-journal))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/new-tiddler": {
"title": "$:/core/ui/KeyboardShortcuts/new-tiddler",
"tags": "$:/tags/KeyboardShortcut",
"key": "((new-tiddler))",
"text": "<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n"
},
"$:/core/ui/KeyboardShortcuts/save-wiki": {
"title": "$:/core/ui/KeyboardShortcuts/save-wiki",
"tags": "$:/tags/KeyboardShortcut",
"key": "((save-wiki))",
"text": "<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n"
},
"$:/core/ui/KeyboardShortcuts/sidebar-search": {
"title": "$:/core/ui/KeyboardShortcuts/sidebar-search",
"tags": "$:/tags/KeyboardShortcut",
"key": "((sidebar-search))",
"text": "<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n"
},
"$:/core/ui/KeyboardShortcuts/switcher": {
"title": "$:/core/ui/KeyboardShortcuts/switcher",
"tags": "$:/tags/KeyboardShortcut",
"key": "((layout-switcher))",
"text": "<$action-sendmessage $message=\"tm-show-switcher\" switch=\"layout\"/>"
},
"$:/core/ui/KeyboardShortcuts/toggle-sidebar": {
"title": "$:/core/ui/KeyboardShortcuts/toggle-sidebar",
"tags": "$:/tags/KeyboardShortcut",
"key": "((toggle-sidebar))",
"text": "<$list filter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\" emptyMessage=\"\"\"\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"yes\"/>\n\"\"\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n"
},
"$:/snippets/LayoutSwitcher": {
"title": "$:/snippets/LayoutSwitcher",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/LayoutSwitcher/Caption}}",
"text": "<$linkcatcher to=\"$:/layout\">\n<div class=\"tc-chooser\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Layout]] [[$:/core/ui/PageTemplate]] +[!is[draft]sort[name]]\">\n<$list filter=\"[{$:/layout}!has[text]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/layout}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$transclude field=\"name\"/>'' - <$transclude field=\"description\"/></$link></div>\n</$set>\n\"\"\">\n<$set name=\"cls\" filter=\"[all[current]field:title[$:/core/ui/PageTemplate]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$transclude field=\"name\"/>'' - <$transclude field=\"description\"/></$link></div>\n</$set>\n</$list>\n</$list>\n</div>\n</$linkcatcher>\n"
},
"$:/core/ui/ListItemTemplate": {
"title": "$:/core/ui/ListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link />\n</div>"
},
"$:/Manager/ItemMain/Fields": {
"title": "$:/Manager/ItemMain/Fields",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/Fields}}",
"text": "<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/Manager/ItemMain/RawText": {
"title": "$:/Manager/ItemMain/RawText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/RawText}}",
"text": "<pre><code><$view/></code></pre>\n"
},
"$:/Manager/ItemMain/WikifiedText": {
"title": "$:/Manager/ItemMain/WikifiedText",
"tags": "$:/tags/Manager/ItemMain",
"caption": "{{$:/language/Manager/Item/WikifiedText}}",
"text": "<$transclude mode=\"block\"/>\n"
},
"$:/Manager/ItemSidebar/Colour": {
"title": "$:/Manager/ItemSidebar/Colour",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Colour}}",
"text": "\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/> / <$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"
},
"$:/Manager/ItemSidebar/Icon": {
"title": "$:/Manager/ItemSidebar/Icon",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Icon}}",
"text": "<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall $name=\"image-picker-include-tagged-images\" actions=\"\"\"\n<$action-setfield $field=\"icon\" $value=<<imageTitle>>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/image-picker\">>/>\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tags": {
"title": "$:/Manager/ItemSidebar/Tags",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tags}}",
"text": "\\whitespace trim\n\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\" storyview=\"pop\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$fieldmangler>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</$fieldmangler>\n</p>\n"
},
"$:/Manager/ItemSidebar/Tools": {
"title": "$:/Manager/ItemSidebar/Tools",
"tags": "$:/tags/Manager/ItemSidebar",
"caption": "{{$:/language/Manager/Item/Tools}}",
"text": "<p>\n<$button to=<<currentTiddler>>>{{$:/core/images/link}} open</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>{{$:/core/images/edit-button}} edit</$button>\n</p>\n"
},
"$:/Manager": {
"title": "$:/Manager",
"icon": "$:/core/images/list",
"color": "#bbb",
"text": "\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"
},
"$:/core/ui/MissingTemplate": {
"title": "$:/core/ui/MissingTemplate",
"text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
},
"$:/core/ui/MoreSideBar/All": {
"title": "$:/core/ui/MoreSideBar/All",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/All/Caption}}",
"text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Drafts": {
"title": "$:/core/ui/MoreSideBar/Drafts",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Drafts/Caption}}",
"text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Explorer": {
"title": "$:/core/ui/MoreSideBar/Explorer",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Explorer/Caption}}",
"text": "<<tree \"$:/\">>\n"
},
"$:/core/ui/MoreSideBar/Missing": {
"title": "$:/core/ui/MoreSideBar/Missing",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Missing/Caption}}",
"text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Orphans": {
"title": "$:/core/ui/MoreSideBar/Orphans",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Orphans/Caption}}",
"text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" default=\"$:/core/ui/MoreSideBar/Plugins/Plugins\" explicitState=\"$:/state/tab-1163638994\"/>\n"
},
"$:/core/ui/MoreSideBar/Recent": {
"title": "$:/core/ui/MoreSideBar/Recent",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/MoreSideBar/Shadows": {
"title": "$:/core/ui/MoreSideBar/Shadows",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Shadows/Caption}}",
"text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/System": {
"title": "$:/core/ui/MoreSideBar/System",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/System/Caption}}",
"text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Tags": {
"title": "$:/core/ui/MoreSideBar/Tags",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Tags/Caption}}",
"text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
},
"$:/core/ui/MoreSideBar/Types": {
"title": "$:/core/ui/MoreSideBar/Types",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Types/Caption}}",
"text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Languages": {
"title": "$:/core/ui/MoreSideBar/Plugins/Languages",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[language]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Plugins": {
"title": "$:/core/ui/MoreSideBar/Plugins/Plugins",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"
},
"$:/core/ui/MoreSideBar/Plugins/Theme": {
"title": "$:/core/ui/MoreSideBar/Plugins/Theme",
"tags": "$:/tags/MoreSideBar/Plugins",
"caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}",
"text": "<$list filter=\"[!has[draft.of]plugin-type[theme]sort[description]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
},
"$:/core/ui/Buttons/advanced-search": {
"title": "$:/core/ui/Buttons/advanced-search",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
"description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
"text": "\\whitespace trim\n\\define advanced-search-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<advanced-search-button>>>\n<<advanced-search-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/close-all": {
"title": "$:/core/ui/Buttons/close-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
"description": "{{$:/language/Buttons/CloseAll/Hint}}",
"text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/control-panel": {
"title": "$:/core/ui/Buttons/control-panel",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
"description": "{{$:/language/Buttons/ControlPanel/Hint}}",
"text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/encryption": {
"title": "$:/core/ui/Buttons/encryption",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
"description": "{{$:/language/Buttons/Encryption/Hint}}",
"text": "\\whitespace trim\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"
},
"$:/core/ui/Buttons/export-page": {
"title": "$:/core/ui/Buttons/export-page",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
"description": "{{$:/language/Buttons/ExportPage/Hint}}",
"text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
},
"$:/core/ui/Buttons/fold-all": {
"title": "$:/core/ui/Buttons/fold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
"description": "{{$:/language/Buttons/FoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/full-screen": {
"title": "$:/core/ui/Buttons/full-screen",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
"description": "{{$:/language/Buttons/FullScreen/Hint}}",
"text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/home": {
"title": "$:/core/ui/Buttons/home",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
"description": "{{$:/language/Buttons/Home/Hint}}",
"text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/import": {
"title": "$:/core/ui/Buttons/import",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
"description": "{{$:/language/Buttons/Import/Hint}}",
"text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
},
"$:/core/ui/Buttons/language": {
"title": "$:/core/ui/Buttons/language",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
"description": "{{$:/language/Buttons/Language/Hint}}",
"text": "\\whitespace trim\n\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/manager": {
"title": "$:/core/ui/Buttons/manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}",
"description": "{{$:/language/Buttons/Manager/Hint}}",
"text": "\\whitespace trim\n\\define manager-button(class)\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Manager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/more-page-actions": {
"title": "$:/core/ui/Buttons/more-page-actions",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-image": {
"title": "$:/core/ui/Buttons/new-image",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
"description": "{{$:/language/Buttons/NewImage/Hint}}",
"text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/new-journal": {
"title": "$:/core/ui/Buttons/new-journal",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
"description": "{{$:/language/Buttons/NewJournal/Hint}}",
"text": "\\whitespace trim\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<journalButton>>\n"
},
"$:/core/ui/Buttons/new-tiddler": {
"title": "$:/core/ui/Buttons/new-tiddler",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
"description": "{{$:/language/Buttons/NewTiddler/Hint}}",
"text": "\\whitespace trim\n<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>\n"
},
"$:/core/ui/Buttons/palette": {
"title": "$:/core/ui/Buttons/palette",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
"description": "{{$:/language/Buttons/Palette/Hint}}",
"text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/print": {
"title": "$:/core/ui/Buttons/print",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}",
"description": "{{$:/language/Buttons/Print/Hint}}",
"text": "<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Print/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/refresh": {
"title": "$:/core/ui/Buttons/refresh",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
"description": "{{$:/language/Buttons/Refresh/Hint}}",
"text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save-wiki": {
"title": "$:/core/ui/Buttons/save-wiki",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
"description": "{{$:/language/Buttons/SaveWiki/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
},
"$:/core/ui/Buttons/storyview": {
"title": "$:/core/ui/Buttons/storyview",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
"description": "{{$:/language/Buttons/StoryView/Hint}}",
"text": "\\whitespace trim\n\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/tag-manager": {
"title": "$:/core/ui/Buttons/tag-manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
"description": "{{$:/language/Buttons/TagManager/Hint}}",
"text": "\\whitespace trim\n\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
},
"$:/core/ui/Buttons/theme": {
"title": "$:/core/ui/Buttons/theme",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
"description": "{{$:/language/Buttons/Theme/Hint}}",
"text": "\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$text text=\" \"/>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>\n"
},
"$:/core/ui/Buttons/timestamp": {
"title": "$:/core/ui/Buttons/timestamp",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}",
"description": "{{$:/language/Buttons/Timestamp/Hint}}",
"text": "\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/On/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n"
},
"$:/core/ui/Buttons/unfold-all": {
"title": "$:/core/ui/Buttons/unfold-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
"description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
"text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/PageTemplate/pagecontrols": {
"title": "$:/core/ui/PageTemplate/pagecontrols",
"text": "\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n</div>\n"
},
"$:/core/ui/PageStylesheet": {
"title": "$:/core/ui/PageStylesheet",
"text": "\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/PageTemplate/alerts": {
"title": "$:/core/ui/PageTemplate/alerts",
"tags": "$:/tags/PageTemplate",
"text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
},
"$:/core/ui/PageTemplate/drafts": {
"title": "$:/core/ui/PageTemplate/drafts",
"tags": "$:/tags/PageTemplate",
"text": "\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n"
},
"$:/core/ui/PageTemplate/pluginreloadwarning": {
"title": "$:/core/ui/PageTemplate/pluginreloadwarning",
"tags": "$:/tags/PageTemplate",
"text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[{$:/status/RequireReloadDueToPluginChange}match[yes]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/PageTemplate/sidebar": {
"title": "$:/core/ui/PageTemplate/sidebar",
"tags": "$:/tags/PageTemplate",
"text": "\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\" tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n"
},
"$:/core/ui/PageTemplate/story": {
"title": "$:/core/ui/PageTemplate/story",
"tags": "$:/tags/PageTemplate",
"text": "\\whitespace trim\n<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template={{$:/config/ui/ViewTemplate}} editTemplate={{$:/config/ui/EditTemplate}} storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
},
"$:/core/ui/PageTemplate/topleftbar": {
"title": "$:/core/ui/PageTemplate/topleftbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate/toprightbar": {
"title": "$:/core/ui/PageTemplate/toprightbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate": {
"title": "$:/core/ui/PageTemplate",
"name": "{{$:/language/PageTemplate/Name}}",
"description": "{{$:/language/PageTemplate/Description}}",
"text": "\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\n<$vars\n\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\n\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\n\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\n\ttv-enable-drag-and-drop={{$:/config/DragAndDrop/Enable}}\n\ttv-show-missing-links={{$:/config/MissingLinks}}\n\tstoryviewTitle={{$:/view}}\n\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone enable=<<tv-enable-drag-and-drop>>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"
},
"$:/PaletteManager": {
"title": "$:/PaletteManager",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip={{$:/language/ControlPanel/Palette/Editor/Delete/Hint}} aria-label=<<lingo Delete/Hint>> class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" variable=\"colourName\">\n<$list filter=\"[<currentTiddler>indexes[]removeprefix<colourName>suffix[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$list filter=\"[{$:/state/palettemanager/showexternal}removeprefix[yes]suffix[]]\" variable=\"ignore\">\n<<palette-manager-colour-row>>\n</$list>\n\"\"\">\n<<palette-manager-colour-row>>\n</$list>\n</$list>\n</tbody>\n</table>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\"><span class=\"tc-small-gap-left\"><<lingo Names/External/Show>></span></$checkbox>\n\n<<palette-manager-table>>\n"
},
"$:/core/ui/PluginInfo": {
"title": "$:/core/ui/PluginInfo",
"text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"
},
"$:/core/ui/PluginInfo/Default/contents": {
"title": "$:/core/ui/PluginInfo/Default/contents",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link />\n</li>\n</$list>\n</ul>\n"
},
"$:/core/ui/PluginListItemTemplate": {
"title": "$:/core/ui/PluginListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}><$view field=\"description\"><$view field=\"title\"/></$view></$link>\n</div>"
},
"$:/core/ui/RootTemplate": {
"title": "$:/core/ui/RootTemplate",
"text": "<$transclude tiddler={{{ [{$:/layout}has[text]] ~[[$:/core/ui/PageTemplate]] }}} mode=\"inline\"/>\n\n"
},
"$:/core/ui/SearchResults": {
"title": "$:/core/ui/SearchResults",
"text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab/search-results/sidebar\"/>\n\n</$list>\n\n</div>\n"
},
"$:/core/ui/SideBar/More": {
"title": "$:/core/ui/SideBar/More",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/More/Caption}}",
"text": "<div class=\"tc-more-sidebar\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class=\"tc-vertical tc-sidebar-tabs-more\" explicitState=\"$:/state/tab/moresidebar-1850697562\"/>\n</div>\n"
},
"$:/core/ui/SideBar/Open": {
"title": "$:/core/ui/SideBar/Open",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Open/Caption}}",
"text": "\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>>>\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini tc-small-gap-right\">{{$:/core/images/close-button}}</$button><$link to={{!!title}}><$view field=\"title\"/></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n"
},
"$:/core/ui/SideBar/Recent": {
"title": "$:/core/ui/SideBar/Recent",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/SideBar/Tools": {
"title": "$:/core/ui/SideBar/Tools",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/SideBarLists": {
"title": "$:/core/ui/SideBarLists",
"text": "<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n"
},
"$:/core/ui/SideBarSegments/page-controls": {
"title": "$:/core/ui/SideBarSegments/page-controls",
"tags": "$:/tags/SideBarSegment",
"text": "{{||$:/core/ui/PageTemplate/pagecontrols}}\n"
},
"$:/core/ui/SideBarSegments/search": {
"title": "$:/core/ui/SideBarSegments/search",
"tags": "$:/tags/SideBarSegment",
"text": "\\whitespace trim\n\n\\define count-popup-button()\n\\whitespace trim\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$(searchTiddler)$}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} replaceRegexp=\"limit\\[\\d+\\]\">\n<$vars primaryListFilter={{{ [<configTiddler>get[first-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}} secondaryListFilter={{{ [<configTiddler>get[second-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[subfilter<primaryListFilter>] [subfilter<secondaryListFilter>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$vars>\n</$vars>\n</$list>\n</$button>\n\\end\n\n\\define search-results-list()\n\\whitespace trim\n<$vars userInput={{$(searchTiddler)$}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n<$list filter=\"[<userInput>minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$tiddler tiddler=<<configTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$tiddler>\n\n</$list>\n</$vars>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<searchTiddler>get[text]!match{$:/temp/search}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/search]] [<searchTiddler>] [<searchListState>]\"/>\"\"\"><$action-setfield $tiddler=\"$:/temp/search\" text={{{ [<searchTiddler>get[text]] }}}/><$action-setfield $tiddler=\"$:/temp/search/refresh\" text=\"yes\"/></$list>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define advanced-search-actions() <$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search/input}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/search/input}}/><<delete-state-tiddlers>><$action-navigate $to=\"$:/AdvancedSearch\"/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/><$action-deletetiddler $filter=\"$:/temp/search $:/temp/search/input $:/temp/search/refresh [<searchListState>]\"/>\n\n<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$vars editTiddler=\"$:/temp/search\" searchTiddler=\"$:/temp/search/input\" searchListState=<<qualify \"$:/state/search-list/selected-item\">>>\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$keyboard key=\"((advanced-search-sidebar))\" actions=<<advanced-search-actions>>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>> \n\t\tselectionStateTitle=<<searchListState>> refreshTitle=\"$:/temp/search/refresh\" type=\"search\" \n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> \n\t\tclass=\"tc-popup-handle\" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups=\"yes\" \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\"/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n<$reveal state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<<advanced-search-actions>>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>><$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n{{$:/core/images/close-button}}\n</$button>\n<<count-popup-button>>\n</$reveal>\n<$reveal state=<<searchTiddler>> type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<<search-results-list>>\n\n</$reveal>\n\n</$reveal>\n\n</$vars>\n\n</div>\n"
},
"$:/core/ui/SideBarSegments/site-subtitle": {
"title": "$:/core/ui/SideBarSegments/site-subtitle",
"tags": "$:/tags/SideBarSegment",
"text": "<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n"
},
"$:/core/ui/SideBarSegments/site-title": {
"title": "$:/core/ui/SideBarSegments/site-title",
"tags": "$:/tags/SideBarSegment",
"text": "<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n"
},
"$:/core/ui/SideBarSegments/tabs": {
"title": "$:/core/ui/SideBarSegments/tabs",
"tags": "$:/tags/SideBarSegment",
"text": "<div class=\"tc-sidebar-lists tc-sidebar-tabs\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" class=\"tc-sidebar-tabs-main\" explicitState=\"$:/state/tab/sidebar--595412856\"/>\n\n</div>\n"
},
"$:/core/ui/SwitcherModal": {
"title": "$:/core/ui/SwitcherModal",
"subtitle": "<$text text={{{[<switch>lookup[$:/language/Switcher/Subtitle/]]}}}/>",
"class": "tc-modal-centered",
"text": "<$tiddler tiddler={{{[<switch>lookup[$:/config/SwitcherTargets/]]}}}>\n\n\n<$transclude/>\n\n\n</$tiddler>"
},
"$:/TagManager": {
"title": "$:/TagManager",
"icon": "$:/core/images/tag-button",
"color": "#bbb",
"text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n\\whitespace trim\n<$link to=\"\"><<lingo Icons/None>></$link>\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define toggleButton(state)\n\\whitespace trim\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n\\whitespace trim\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td>{{||$:/core/ui/TagTemplate}}</td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td style=\"position:relative;\">\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
},
"$:/core/ui/TagPickerTagTemplate": {
"title": "$:/core/ui/TagPickerTagTemplate",
"text": "\\whitespace trim\n<$button class=<<button-classes>> tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n<$list filter=\"[<saveTiddler>minlength[1]]\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>]\"/>\n</$list>\n<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>> preventScroll=\"true\"/>\n</$set>\n<<delete-tag-state-tiddlers>>\n<$list filter=\"[<refreshTitle>minlength[1]]\">\n<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n<<actions>>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<$wikify name=\"foregroundColor\" text=\"\"\"<$macrocall $name=\"contrastcolour\" target={{!!color}} fallbackTarget=<<fallbackTarget>> colourA=<<colourA>> colourB=<<colourB>>/>\"\"\">\n<span class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n<$transclude tiddler={{!!icon}}/><$view field=\"title\" format=\"text\"/>\n</span>\n</$wikify>\n</$set>\n</$button>\n"
},
"$:/core/ui/TagTemplate": {
"title": "$:/core/ui/TagTemplate",
"text": "\\whitespace trim\n<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n"
},
"$:/core/ui/TiddlerFieldTemplate": {
"title": "$:/core/ui/TiddlerFieldTemplate",
"text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
},
"$:/core/ui/TiddlerFields": {
"title": "$:/core/ui/TiddlerFields",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
},
"$:/core/ui/TiddlerInfo/Advanced": {
"title": "$:/core/ui/TiddlerInfo/Advanced",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Fields": {
"title": "$:/core/ui/TiddlerInfo/Fields",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
"text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
},
"$:/core/ui/TiddlerInfo/List": {
"title": "$:/core/ui/TiddlerInfo/List",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/List/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Listed": {
"title": "$:/core/ui/TiddlerInfo/Listed",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/References": {
"title": "$:/core/ui/TiddlerInfo/References",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/References/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>"
},
"$:/core/ui/TiddlerInfo/Tagging": {
"title": "$:/core/ui/TiddlerInfo/Tagging",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Tools": {
"title": "$:/core/ui/TiddlerInfo/Tools",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/TiddlerInfo": {
"title": "$:/core/ui/TiddlerInfo",
"text": "<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>\n"
},
"$:/core/ui/TopBar/menu": {
"title": "$:/core/ui/TopBar/menu",
"tags": "$:/tags/TopRightBar",
"text": "<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible tc-hide-sidebar-btn\">{{$:/core/images/chevron-right}}</$button>\n</$list>\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible tc-show-sidebar-btn\">{{$:/core/images/chevron-left}}</$button>\n</$list>\n"
},
"$:/core/ui/UntaggedTemplate": {
"title": "$:/core/ui/UntaggedTemplate",
"text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/body": {
"title": "$:/core/ui/ViewTemplate/body",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/classic": {
"title": "$:/core/ui/ViewTemplate/classic",
"tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/import": {
"title": "$:/core/ui/ViewTemplate/import",
"tags": "$:/tags/ViewTemplate",
"text": "\\define lingo-base() $:/language/Import/\n\n\\define buttons()\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n<<lingo Listing/Preview>> <$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/plugin": {
"title": "$:/core/ui/ViewTemplate/plugin",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" class=\"tc-tiddler-plugin-info\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n<$set name=\"plugin-type\" value={{!!plugin-type}}>\n<$set name=\"default-popup-state\" value=\"yes\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n{{||$:/core/ui/Components/plugin-info}}\n</$set>\n</$set>\n</$set>\n</$list>\n</$reveal>"
},
"$:/core/ui/ViewTemplate/subtitle": {
"title": "$:/core/ui/ViewTemplate/subtitle",
"tags": "$:/tags/ViewTemplate",
"text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}} />\n<$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/tags": {
"title": "$:/core/ui/ViewTemplate/tags",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/title": {
"title": "$:/core/ui/ViewTemplate/title",
"tags": "$:/tags/ViewTemplate",
"text": "\\whitespace trim\n\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"><$transclude tiddler=<<listItem>>/></$set></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<$list filter=\"[all[current]has[icon]]~[[$:/config/DefaultTiddlerIcon]has[text]]\">\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}>\n<$transclude tiddler={{$:/config/DefaultTiddlerIcon}}/>\n</$transclude>\n</span>\n</$list>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>> mode=\"block\"/></$list>\n\n</$reveal>\n</div>"
},
"$:/core/ui/ViewTemplate/unfold": {
"title": "$:/core/ui/ViewTemplate/unfold",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate": {
"title": "$:/core/ui/ViewTemplate",
"text": "\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\define cancel-delete-tiddler-actions(message) <$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]]\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$vars>\n"
},
"$:/core/ui/Buttons/clone": {
"title": "$:/core/ui/Buttons/clone",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
"description": "{{$:/language/Buttons/Clone/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Clone/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close-others": {
"title": "$:/core/ui/Buttons/close-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
"description": "{{$:/language/Buttons/CloseOthers/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close": {
"title": "$:/core/ui/Buttons/close",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
"description": "{{$:/language/Buttons/Close/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Close/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/edit": {
"title": "$:/core/ui/Buttons/edit",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
"description": "{{$:/language/Buttons/Edit/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Edit/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/export-tiddler": {
"title": "$:/core/ui/Buttons/export-tiddler",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
"description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
"text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
},
"$:/core/ui/Buttons/fold-bar": {
"title": "$:/core/ui/Buttons/fold-bar",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}",
"description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
"text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
},
"$:/core/ui/Buttons/fold-others": {
"title": "$:/core/ui/Buttons/fold-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
"description": "{{$:/language/Buttons/FoldOthers/Hint}}",
"text": "\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/fold": {
"title": "$:/core/ui/Buttons/fold",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
"description": "{{$:/language/Buttons/Fold/Hint}}",
"text": "\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"
},
"$:/core/ui/Buttons/info": {
"title": "$:/core/ui/Buttons/info",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
"description": "{{$:/language/Buttons/Info/Hint}}",
"text": "\\whitespace trim\n\\define button-content()\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"
},
"$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/core/ui/Buttons/more-tiddler-actions",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\whitespace trim\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/More/Caption}}/>\n</span>\n</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-here": {
"title": "$:/core/ui/Buttons/new-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
"description": "{{$:/language/Buttons/NewHere/Hint}}",
"text": "\\whitespace trim\n\\define newHereActions()\n<$set name=\"tags\" filter=\"[<currentTiddler>] [{$:/config/NewTiddler/Tags}]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\define newHereButton()\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>\n"
},
"$:/core/ui/Buttons/new-journal-here": {
"title": "$:/core/ui/Buttons/new-journal-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
"description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
"text": "\\whitespace trim\n\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n</$list>\n</$wikify>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set>\n</$set>\n</$set>\n"
},
"$:/core/ui/Buttons/open-window": {
"title": "$:/core/ui/Buttons/open-window",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
"description": "{{$:/language/Buttons/OpenWindow/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permalink": {
"title": "$:/core/ui/Buttons/permalink",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
"description": "{{$:/language/Buttons/Permalink/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permaview": {
"title": "$:/core/ui/Buttons/permaview",
"tags": "$:/tags/ViewToolbar $:/tags/PageControls",
"caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
"description": "{{$:/language/Buttons/Permaview/Hint}}",
"text": "\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n</$list>\n</$button>"
},
"$:/DefaultTiddlers": {
"title": "$:/DefaultTiddlers",
"text": "GettingStarted\n"
},
"$:/temp/advancedsearch": {
"title": "$:/temp/advancedsearch",
"text": ""
},
"$:/snippets/allfields": {
"title": "$:/snippets/allfields",
"text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
},
"$:/config/AnimationDuration": {
"title": "$:/config/AnimationDuration",
"text": "400"
},
"$:/config/AutoFocus": {
"title": "$:/config/AutoFocus",
"text": "title"
},
"$:/config/AutoSave": {
"title": "$:/config/AutoSave",
"text": "yes"
},
"$:/config/BitmapEditor/Colour": {
"title": "$:/config/BitmapEditor/Colour",
"text": "#444"
},
"$:/config/BitmapEditor/ImageSizes": {
"title": "$:/config/BitmapEditor/ImageSizes",
"text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
},
"$:/config/BitmapEditor/LineWidth": {
"title": "$:/config/BitmapEditor/LineWidth",
"text": "3px"
},
"$:/config/BitmapEditor/LineWidths": {
"title": "$:/config/BitmapEditor/LineWidths",
"text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
},
"$:/config/BitmapEditor/Opacities": {
"title": "$:/config/BitmapEditor/Opacities",
"text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
},
"$:/config/BitmapEditor/Opacity": {
"title": "$:/config/BitmapEditor/Opacity",
"text": "1.0"
},
"$:/config/DefaultMoreSidebarTab": {
"title": "$:/config/DefaultMoreSidebarTab",
"text": "$:/core/ui/MoreSideBar/Tags"
},
"$:/config/DefaultSidebarTab": {
"title": "$:/config/DefaultSidebarTab",
"text": "$:/core/ui/SideBar/Open"
},
"$:/config/DownloadSaver/AutoSave": {
"title": "$:/config/DownloadSaver/AutoSave",
"text": "no"
},
"$:/config/Drafts/TypingTimeout": {
"title": "$:/config/Drafts/TypingTimeout",
"text": "400"
},
"$:/config/EditMode/fieldname-filter": {
"title": "$:/config/EditMode/fieldname-filter",
"first-search-filter": "[!is[shadow]!is[system]fields[]search:title<userInput>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type",
"second-search-filter": "[fields[]search:title<userInput>sort[]] -[!is[shadow]!is[system]fields[]]"
},
"$:/config/EditTabIndex": {
"title": "$:/config/EditTabIndex",
"text": "1\n"
},
"$:/config/EditTemplateFields/Visibility/title": {
"title": "$:/config/EditTemplateFields/Visibility/title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/tags": {
"title": "$:/config/EditTemplateFields/Visibility/tags",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/text": {
"title": "$:/config/EditTemplateFields/Visibility/text",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/creator": {
"title": "$:/config/EditTemplateFields/Visibility/creator",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/created": {
"title": "$:/config/EditTemplateFields/Visibility/created",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modified": {
"title": "$:/config/EditTemplateFields/Visibility/modified",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modifier": {
"title": "$:/config/EditTemplateFields/Visibility/modifier",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/type": {
"title": "$:/config/EditTemplateFields/Visibility/type",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.title": {
"title": "$:/config/EditTemplateFields/Visibility/draft.title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.of": {
"title": "$:/config/EditTemplateFields/Visibility/draft.of",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/revision": {
"title": "$:/config/EditTemplateFields/Visibility/revision",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/bag": {
"title": "$:/config/EditTemplateFields/Visibility/bag",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
"text": "hide"
},
"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
"title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
"text": "hide"
},
"$:/config/EditorTypeMappings/image/gif": {
"title": "$:/config/EditorTypeMappings/image/gif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/webp": {
"title": "$:/config/EditorTypeMappings/image/webp",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/heic": {
"title": "$:/config/EditorTypeMappings/image/heic",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/heif": {
"title": "$:/config/EditorTypeMappings/image/heif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpeg": {
"title": "$:/config/EditorTypeMappings/image/jpeg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpg": {
"title": "$:/config/EditorTypeMappings/image/jpg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/png": {
"title": "$:/config/EditorTypeMappings/image/png",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/x-icon": {
"title": "$:/config/EditorTypeMappings/image/x-icon",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
"text": "text"
},
"$:/config/Manager/Show": {
"title": "$:/config/Manager/Show",
"text": "tiddlers"
},
"$:/config/Manager/Filter": {
"title": "$:/config/Manager/Filter",
"text": ""
},
"$:/config/Manager/Order": {
"title": "$:/config/Manager/Order",
"text": "forward"
},
"$:/config/Manager/Sort": {
"title": "$:/config/Manager/Sort",
"text": "title"
},
"$:/config/Manager/System": {
"title": "$:/config/Manager/System",
"text": "system"
},
"$:/config/Manager/Tag": {
"title": "$:/config/Manager/Tag",
"text": ""
},
"$:/state/popup/manager/item/$:/Manager/ItemMain/RawText": {
"title": "$:/state/popup/manager/item/$:/Manager/ItemMain/RawText",
"text": "hide"
},
"$:/config/MissingLinks": {
"title": "$:/config/MissingLinks",
"text": "yes"
},
"$:/config/Navigation/UpdateAddressBar": {
"title": "$:/config/Navigation/UpdateAddressBar",
"text": "no"
},
"$:/config/Navigation/UpdateHistory": {
"title": "$:/config/Navigation/UpdateHistory",
"text": "no"
},
"$:/config/NewImageType": {
"title": "$:/config/NewImageType",
"text": "jpeg"
},
"$:/config/OfficialPluginLibrary": {
"title": "$:/config/OfficialPluginLibrary",
"tags": "$:/tags/PluginLibrary",
"url": "https://tiddlywiki.com/library/v5.1.23/index.html",
"caption": "{{$:/language/OfficialPluginLibrary}}",
"text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
},
"$:/config/Navigation/openLinkFromInsideRiver": {
"title": "$:/config/Navigation/openLinkFromInsideRiver",
"text": "below"
},
"$:/config/Navigation/openLinkFromOutsideRiver": {
"title": "$:/config/Navigation/openLinkFromOutsideRiver",
"text": "top"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
"text": "hide"
},
"$:/config/Performance/Instrumentation": {
"title": "$:/config/Performance/Instrumentation",
"text": "no"
},
"$:/config/RegisterPluginType/plugin": {
"title": "$:/config/RegisterPluginType/plugin",
"text": "yes"
},
"$:/config/RegisterPluginType/theme": {
"title": "$:/config/RegisterPluginType/theme",
"text": "no"
},
"$:/config/RegisterPluginType/language": {
"title": "$:/config/RegisterPluginType/language",
"text": "no"
},
"$:/config/RegisterPluginType/info": {
"title": "$:/config/RegisterPluginType/info",
"text": "yes"
},
"$:/config/RegisterPluginType/import": {
"title": "$:/config/RegisterPluginType/import",
"text": "no"
},
"$:/config/SaveWikiButton/Template": {
"title": "$:/config/SaveWikiButton/Template",
"text": "$:/core/save/all"
},
"$:/config/SaverFilter": {
"title": "$:/config/SaverFilter",
"text": "[all[]] -[prefix[$:/HistoryList]] -[prefix[$:/StoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"
},
"$:/config/Search/AutoFocus": {
"title": "$:/config/Search/AutoFocus",
"text": "true"
},
"$:/config/Search/MinLength": {
"title": "$:/config/Search/MinLength",
"text": "3"
},
"$:/config/SearchResults/Default": {
"title": "$:/config/SearchResults/Default",
"text": "$:/core/ui/DefaultSearchResultList"
},
"$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]": {
"title": "$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]",
"text": "yes"
},
"$:/config/ShortcutInfo/add-field": {
"title": "$:/config/ShortcutInfo/add-field",
"text": "{{$:/language/EditTemplate/Fields/Add/Button/Hint}}"
},
"$:/config/ShortcutInfo/advanced-search": {
"title": "$:/config/ShortcutInfo/advanced-search",
"text": "{{$:/language/Buttons/AdvancedSearch/Hint}}"
},
"$:/config/ShortcutInfo/advanced-search-sidebar": {
"title": "$:/config/ShortcutInfo/advanced-search-sidebar",
"text": "{{$:/language/Shortcuts/Input/AdvancedSearch/Hint}}"
},
"$:/config/ShortcutInfo/bold": {
"title": "$:/config/ShortcutInfo/bold",
"text": "{{$:/language/Buttons/Bold/Hint}}"
},
"$:/config/ShortcutInfo/cancel-edit-tiddler": {
"title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
"text": "{{$:/language/Buttons/Cancel/Hint}}"
},
"$:/config/ShortcutInfo/change-sidebar-layout": {
"title": "$:/config/ShortcutInfo/change-sidebar-layout",
"text": "{{$:/language/Shortcuts/SidebarLayout/Hint}}"
},
"$:/config/ShortcutInfo/delete-field": {
"title": "$:/config/ShortcutInfo/delete-field",
"text": "{{$:/language/EditTemplate/Field/Remove/Hint}}"
},
"$:/config/ShortcutInfo/excise": {
"title": "$:/config/ShortcutInfo/excise",
"text": "{{$:/language/Buttons/Excise/Hint}}"
},
"$:/config/ShortcutInfo/heading-1": {
"title": "$:/config/ShortcutInfo/heading-1",
"text": "{{$:/language/Buttons/Heading1/Hint}}"
},
"$:/config/ShortcutInfo/heading-2": {
"title": "$:/config/ShortcutInfo/heading-2",
"text": "{{$:/language/Buttons/Heading2/Hint}}"
},
"$:/config/ShortcutInfo/heading-3": {
"title": "$:/config/ShortcutInfo/heading-3",
"text": "{{$:/language/Buttons/Heading3/Hint}}"
},
"$:/config/ShortcutInfo/heading-4": {
"title": "$:/config/ShortcutInfo/heading-4",
"text": "{{$:/language/Buttons/Heading4/Hint}}"
},
"$:/config/ShortcutInfo/heading-5": {
"title": "$:/config/ShortcutInfo/heading-5",
"text": "{{$:/language/Buttons/Heading5/Hint}}"
},
"$:/config/ShortcutInfo/heading-6": {
"title": "$:/config/ShortcutInfo/heading-6",
"text": "{{$:/language/Buttons/Heading6/Hint}}"
},
"$:/config/ShortcutInfo/input-accept": {
"title": "$:/config/ShortcutInfo/input-accept",
"text": "{{$:/language/Shortcuts/Input/Accept/Hint}}"
},
"$:/config/ShortcutInfo/input-accept-variant": {
"title": "$:/config/ShortcutInfo/input-accept-variant",
"text": "{{$:/language/Shortcuts/Input/AcceptVariant/Hint}}"
},
"$:/config/ShortcutInfo/input-cancel": {
"title": "$:/config/ShortcutInfo/input-cancel",
"text": "{{$:/language/Shortcuts/Input/Cancel/Hint}}"
},
"$:/config/ShortcutInfo/input-down": {
"title": "$:/config/ShortcutInfo/input-down",
"text": "{{$:/language/Shortcuts/Input/Down/Hint}}"
},
"$:/config/ShortcutInfo/input-tab-left": {
"title": "$:/config/ShortcutInfo/input-tab-left",
"text": "{{$:/language/Shortcuts/Input/Tab-Left/Hint}}"
},
"$:/config/ShortcutInfo/input-tab-right": {
"title": "$:/config/ShortcutInfo/input-tab-right",
"text": "{{$:/language/Shortcuts/Input/Tab-Right/Hint}}"
},
"$:/config/ShortcutInfo/input-up": {
"title": "$:/config/ShortcutInfo/input-up",
"text": "{{$:/language/Shortcuts/Input/Up/Hint}}"
},
"$:/config/ShortcutInfo/italic": {
"title": "$:/config/ShortcutInfo/italic",
"text": "{{$:/language/Buttons/Italic/Hint}}"
},
"$:/config/ShortcutInfo/layout-switcher": {
"title": "$:/config/ShortcutInfo/layout-switcher",
"text": "{{$:/language/LayoutSwitcher/Description}}"
},
"$:/config/ShortcutInfo/link": {
"title": "$:/config/ShortcutInfo/link",
"text": "{{$:/language/Buttons/Link/Hint}}"
},
"$:/config/ShortcutInfo/linkify": {
"title": "$:/config/ShortcutInfo/linkify",
"text": "{{$:/language/Buttons/Linkify/Hint}}"
},
"$:/config/ShortcutInfo/list-bullet": {
"title": "$:/config/ShortcutInfo/list-bullet",
"text": "{{$:/language/Buttons/ListBullet/Hint}}"
},
"$:/config/ShortcutInfo/list-number": {
"title": "$:/config/ShortcutInfo/list-number",
"text": "{{$:/language/Buttons/ListNumber/Hint}}"
},
"$:/config/ShortcutInfo/mono-block": {
"title": "$:/config/ShortcutInfo/mono-block",
"text": "{{$:/language/Buttons/MonoBlock/Hint}}"
},
"$:/config/ShortcutInfo/mono-line": {
"title": "$:/config/ShortcutInfo/mono-line",
"text": "{{$:/language/Buttons/MonoLine/Hint}}"
},
"$:/config/ShortcutInfo/new-image": {
"title": "$:/config/ShortcutInfo/new-image",
"text": "{{$:/language/Buttons/NewImage/Hint}}"
},
"$:/config/ShortcutInfo/new-journal": {
"title": "$:/config/ShortcutInfo/new-journal",
"text": "{{$:/language/Buttons/NewJournal/Hint}}"
},
"$:/config/ShortcutInfo/new-tiddler": {
"title": "$:/config/ShortcutInfo/new-tiddler",
"text": "{{$:/language/Buttons/NewTiddler/Hint}}"
},
"$:/config/ShortcutInfo/picture": {
"title": "$:/config/ShortcutInfo/picture",
"text": "{{$:/language/Buttons/Picture/Hint}}"
},
"$:/config/ShortcutInfo/preview": {
"title": "$:/config/ShortcutInfo/preview",
"text": "{{$:/language/Buttons/Preview/Hint}}"
},
"$:/config/ShortcutInfo/quote": {
"title": "$:/config/ShortcutInfo/quote",
"text": "{{$:/language/Buttons/Quote/Hint}}"
},
"$:/config/ShortcutInfo/save-tiddler": {
"title": "$:/config/ShortcutInfo/save-tiddler",
"text": "{{$:/language/Buttons/Save/Hint}}"
},
"$:/config/ShortcutInfo/save-wiki": {
"title": "$:/config/ShortcutInfo/save-wiki",
"text": "{{$:/language/Buttons/SaveWiki/Hint}}"
},
"$:/config/ShortcutInfo/sidebar-search": {
"title": "$:/config/ShortcutInfo/sidebar-search",
"text": "{{$:/language/Buttons/SidebarSearch/Hint}}"
},
"$:/config/ShortcutInfo/stamp": {
"title": "$:/config/ShortcutInfo/stamp",
"text": "{{$:/language/Buttons/Stamp/Hint}}"
},
"$:/config/ShortcutInfo/strikethrough": {
"title": "$:/config/ShortcutInfo/strikethrough",
"text": "{{$:/language/Buttons/Strikethrough/Hint}}"
},
"$:/config/ShortcutInfo/subscript": {
"title": "$:/config/ShortcutInfo/subscript",
"text": "{{$:/language/Buttons/Subscript/Hint}}"
},
"$:/config/ShortcutInfo/superscript": {
"title": "$:/config/ShortcutInfo/superscript",
"text": "{{$:/language/Buttons/Superscript/Hint}}"
},
"$:/config/ShortcutInfo/toggle-sidebar": {
"title": "$:/config/ShortcutInfo/toggle-sidebar",
"text": "{{$:/language/Buttons/ToggleSidebar/Hint}}"
},
"$:/config/ShortcutInfo/transcludify": {
"title": "$:/config/ShortcutInfo/transcludify",
"text": "{{$:/language/Buttons/Transcludify/Hint}}"
},
"$:/config/ShortcutInfo/underline": {
"title": "$:/config/ShortcutInfo/underline",
"text": "{{$:/language/Buttons/Underline/Hint}}"
},
"$:/config/SwitcherTargets/layout": {
"title": "$:/config/SwitcherTargets/layout",
"text": "$:/snippets/LayoutSwitcher"
},
"$:/config/SwitcherTargets/language": {
"title": "$:/config/SwitcherTargets/language",
"text": "$:/snippets/languageswitcher"
},
"$:/config/SwitcherTargets/palette": {
"title": "$:/config/SwitcherTargets/palette",
"text": "$:/core/ui/ControlPanel/Palette"
},
"$:/config/SwitcherTargets/theme": {
"title": "$:/config/SwitcherTargets/theme",
"text": "$:/core/ui/ControlPanel/Theme"
},
"$:/config/SyncFilter": {
"title": "$:/config/SyncFilter",
"text": "[is[tiddler]] -[[$:/core]] -[[$:/library/sjcl.js]] -[prefix[$:/boot/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"
},
"$:/config/SyncSystemTiddlersFromServer": {
"title": "$:/config/SyncSystemTiddlersFromServer",
"text": "no"
},
"$:/config/Tags/MinLength": {
"title": "$:/config/Tags/MinLength",
"text": "0"
},
"$:/config/TextEditor/EditorHeight/Height": {
"title": "$:/config/TextEditor/EditorHeight/Height",
"text": "400px"
},
"$:/config/TextEditor/EditorHeight/Mode": {
"title": "$:/config/TextEditor/EditorHeight/Mode",
"text": "auto"
},
"$:/config/TiddlerInfo/Default": {
"title": "$:/config/TiddlerInfo/Default",
"text": "$:/core/ui/TiddlerInfo/Fields"
},
"$:/config/TiddlerInfo/Mode": {
"title": "$:/config/TiddlerInfo/Mode",
"text": "popup"
},
"$:/config/Tiddlers/TitleLinks": {
"title": "$:/config/Tiddlers/TitleLinks",
"text": "no"
},
"$:/config/Toolbar/ButtonClass": {
"title": "$:/config/Toolbar/ButtonClass",
"text": "tc-btn-invisible"
},
"$:/config/Toolbar/Icons": {
"title": "$:/config/Toolbar/Icons",
"text": "yes"
},
"$:/config/Toolbar/Text": {
"title": "$:/config/Toolbar/Text",
"text": "no"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
"text": "show"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
"text": "hide"
},
"$:/config/shortcuts-mac/bold": {
"title": "$:/config/shortcuts-mac/bold",
"text": "meta-B"
},
"$:/config/shortcuts-mac/input-tab-left": {
"title": "$:/config/shortcuts-mac/input-tab-left",
"text": "ctrl-Left"
},
"$:/config/shortcuts-mac/input-tab-right": {
"title": "$:/config/shortcuts-mac/input-tab-right",
"text": "ctrl-Right"
},
"$:/config/shortcuts-mac/italic": {
"title": "$:/config/shortcuts-mac/italic",
"text": "meta-I"
},
"$:/config/shortcuts-mac/underline": {
"title": "$:/config/shortcuts-mac/underline",
"text": "meta-U"
},
"$:/config/shortcuts-mac/new-image": {
"title": "$:/config/shortcuts-mac/new-image",
"text": "ctrl-I"
},
"$:/config/shortcuts-mac/new-journal": {
"title": "$:/config/shortcuts-mac/new-journal",
"text": "ctrl-J"
},
"$:/config/shortcuts-mac/new-tiddler": {
"title": "$:/config/shortcuts-mac/new-tiddler",
"text": "ctrl-N"
},
"$:/config/shortcuts-mac/save-wiki": {
"title": "$:/config/shortcuts-mac/save-wiki",
"text": "meta-S"
},
"$:/config/shortcuts-not-mac/bold": {
"title": "$:/config/shortcuts-not-mac/bold",
"text": "ctrl-B"
},
"$:/config/shortcuts-not-mac/italic": {
"title": "$:/config/shortcuts-not-mac/italic",
"text": "ctrl-I"
},
"$:/config/shortcuts-not-mac/underline": {
"title": "$:/config/shortcuts-not-mac/underline",
"text": "ctrl-U"
},
"$:/config/shortcuts-not-mac/new-image": {
"title": "$:/config/shortcuts-not-mac/new-image",
"text": "alt-I"
},
"$:/config/shortcuts-not-mac/new-journal": {
"title": "$:/config/shortcuts-not-mac/new-journal",
"text": "alt-J"
},
"$:/config/shortcuts-not-mac/new-tiddler": {
"title": "$:/config/shortcuts-not-mac/new-tiddler",
"text": "alt-N"
},
"$:/config/shortcuts/add-field": {
"title": "$:/config/shortcuts/add-field",
"text": "enter"
},
"$:/config/shortcuts/advanced-search": {
"title": "$:/config/shortcuts/advanced-search",
"text": "ctrl-shift-A"
},
"$:/config/shortcuts/advanced-search-sidebar": {
"title": "$:/config/shortcuts/advanced-search-sidebar",
"text": "alt-Enter"
},
"$:/config/shortcuts/cancel-edit-tiddler": {
"title": "$:/config/shortcuts/cancel-edit-tiddler",
"text": "escape"
},
"$:/config/shortcuts/change-sidebar-layout": {
"title": "$:/config/shortcuts/change-sidebar-layout",
"text": "shift-alt-Down"
},
"$:/config/shortcuts/delete-field": {
"title": "$:/config/shortcuts/delete-field",
"text": "shift-alt-D"
},
"$:/config/shortcuts/excise": {
"title": "$:/config/shortcuts/excise",
"text": "ctrl-E"
},
"$:/config/shortcuts/sidebar-search": {
"title": "$:/config/shortcuts/sidebar-search",
"text": "ctrl-shift-F"
},
"$:/config/shortcuts/heading-1": {
"title": "$:/config/shortcuts/heading-1",
"text": "ctrl-1"
},
"$:/config/shortcuts/heading-2": {
"title": "$:/config/shortcuts/heading-2",
"text": "ctrl-2"
},
"$:/config/shortcuts/heading-3": {
"title": "$:/config/shortcuts/heading-3",
"text": "ctrl-3"
},
"$:/config/shortcuts/heading-4": {
"title": "$:/config/shortcuts/heading-4",
"text": "ctrl-4"
},
"$:/config/shortcuts/heading-5": {
"title": "$:/config/shortcuts/heading-5",
"text": "ctrl-5"
},
"$:/config/shortcuts/heading-6": {
"title": "$:/config/shortcuts/heading-6",
"text": "ctrl-6"
},
"$:/config/shortcuts/input-accept": {
"title": "$:/config/shortcuts/input-accept",
"text": "Enter"
},
"$:/config/shortcuts/input-accept-variant": {
"title": "$:/config/shortcuts/input-accept-variant",
"text": "ctrl-Enter"
},
"$:/config/shortcuts/input-cancel": {
"title": "$:/config/shortcuts/input-cancel",
"text": "Escape"
},
"$:/config/shortcuts/input-down": {
"title": "$:/config/shortcuts/input-down",
"text": "Down"
},
"$:/config/shortcuts/input-tab-left": {
"title": "$:/config/shortcuts/input-tab-left",
"text": "alt-Left"
},
"$:/config/shortcuts/input-tab-right": {
"title": "$:/config/shortcuts/input-tab-right",
"text": "alt-Right"
},
"$:/config/shortcuts/input-up": {
"title": "$:/config/shortcuts/input-up",
"text": "Up"
},
"$:/config/shortcuts/layout-switcher": {
"title": "$:/config/shortcuts/layout-switcher",
"text": "ctrl-shift-L"
},
"$:/config/shortcuts/link": {
"title": "$:/config/shortcuts/link",
"text": "ctrl-L"
},
"$:/config/shortcuts/linkify": {
"title": "$:/config/shortcuts/linkify",
"text": "alt-shift-L"
},
"$:/config/shortcuts/list-bullet": {
"title": "$:/config/shortcuts/list-bullet",
"text": "ctrl-shift-L"
},
"$:/config/shortcuts/list-number": {
"title": "$:/config/shortcuts/list-number",
"text": "ctrl-shift-N"
},
"$:/config/shortcuts/mono-block": {
"title": "$:/config/shortcuts/mono-block",
"text": "ctrl-shift-M"
},
"$:/config/shortcuts/mono-line": {
"title": "$:/config/shortcuts/mono-line",
"text": "ctrl-M"
},
"$:/config/shortcuts/picture": {
"title": "$:/config/shortcuts/picture",
"text": "ctrl-shift-I"
},
"$:/config/shortcuts/preview": {
"title": "$:/config/shortcuts/preview",
"text": "alt-P"
},
"$:/config/shortcuts/quote": {
"title": "$:/config/shortcuts/quote",
"text": "ctrl-Q"
},
"$:/config/shortcuts/save-tiddler": {
"title": "$:/config/shortcuts/save-tiddler",
"text": "ctrl+enter"
},
"$:/config/shortcuts/save-wiki": {
"title": "$:/config/shortcuts/save-wiki",
"text": "ctrl-S"
},
"$:/config/shortcuts/stamp": {
"title": "$:/config/shortcuts/stamp",
"text": "ctrl-S"
},
"$:/config/shortcuts/strikethrough": {
"title": "$:/config/shortcuts/strikethrough",
"text": "ctrl-T"
},
"$:/config/shortcuts/subscript": {
"title": "$:/config/shortcuts/subscript",
"text": "ctrl-shift-B"
},
"$:/config/shortcuts/superscript": {
"title": "$:/config/shortcuts/superscript",
"text": "ctrl-shift-P"
},
"$:/config/shortcuts/toggle-sidebar": {
"title": "$:/config/shortcuts/toggle-sidebar",
"text": "alt-shift-S"
},
"$:/config/shortcuts/transcludify": {
"title": "$:/config/shortcuts/transcludify",
"text": "alt-shift-T"
},
"$:/config/ui/EditTemplate": {
"title": "$:/config/ui/EditTemplate",
"text": "$:/core/ui/EditTemplate"
},
"$:/config/ui/ViewTemplate": {
"title": "$:/config/ui/ViewTemplate",
"text": "$:/core/ui/ViewTemplate"
},
"$:/config/WikiParserRules/Inline/wikilink": {
"title": "$:/config/WikiParserRules/Inline/wikilink",
"text": "enable"
},
"$:/snippets/currpalettepreview": {
"title": "$:/snippets/currpalettepreview",
"text": "\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch-inner()\n<$set name=\"swatchColour\" value={{##$(colourResolved)$}}>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall=<<swatchColour>>/>\"\"\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n\\end\n\\define swatch()\n<$set name=\"swatchColour\" value={{##$(colour)$}}>\n<$set name=\"swatchTitle\" value=<<colour>>>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall=<<swatchColour>>/>\"\"\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n</$set>\n\\end\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>\n"
},
"$:/snippets/download-wiki-button": {
"title": "$:/snippets/download-wiki-button",
"text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
},
"$:/language": {
"title": "$:/language",
"text": "$:/languages/en-GB"
},
"$:/snippets/languageswitcher": {
"title": "$:/snippets/languageswitcher",
"text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/language}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/core/macros/CSS": {
"title": "$:/core/macros/CSS",
"tags": "$:/tags/Macro",
"text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"><$transclude tiddler=\"$:/config/DefaultColourMappings/$name$\"/></$transclude></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\n-moz-column-count: $columns$;\n-webkit-column-count: $columns$;\ncolumn-count: $columns$;\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}} _canonical_uri={{$title$!!_canonical_uri}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\">$text$</$reveal>\n\\end\n"
},
"$:/core/macros/colour-picker": {
"title": "$:/core/macros/colour-picker",
"tags": "$:/tags/Macro",
"text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<span style=\"display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/>\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
},
"$:/core/macros/copy-to-clipboard": {
"title": "$:/core/macros/copy-to-clipboard",
"tags": "$:/tags/Macro",
"text": "\\define copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button class=<<__class__>> style=<<__style__>> message=\"tm-copy-to-clipboard\" param=<<__src__>> tooltip={{$:/language/Buttons/CopyToClipboard/Hint}}>\n{{$:/core/images/copy-clipboard}} <$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n</$button>\n\\end\n\n\\define copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n<div style=\"position: absolute; bottom: 0; right: 0;\">\n<$macrocall $name=\"copy-to-clipboard\" src=<<__src__>> class=<<__class__>> style=<<__style__>>/>\n</div>\n</div>\n\\end\n\n"
},
"$:/core/macros/diff": {
"title": "$:/core/macros/diff",
"tags": "$:/tags/Macro",
"text": "\\define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>>\n<$diff-text source=<<source>> dest=<<dest>>/>\n</$set>\n</$set>\n\\end\n\n\\define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n<tbody>\n<$set name=\"sourceFields\" filter=\"[<__sourceTiddlerTitle__>fields[]sort[]]\">\n<$set name=\"destFields\" filter=\"[<__destSubTiddlerTitle__>subtiddlerfields<__destTiddlerTitle__>sort[]]\">\n<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<__exclude__>] +[sort[]]\" variable=\"fieldName\">\n<tr>\n<th>\n<$text text=<<fieldName>>/> \n</th>\n<td>\n<$set name=\"source\" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>>\n<$set name=\"dest\" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>>\n<$diff-text source=<<source>> dest=<<dest>>>\n</$diff-text>\n</$set>\n</$set>\n</td>\n</tr>\n</$list>\n</$set>\n</$set>\n</tbody>\n</table>\n\\end\n"
},
"$:/core/macros/dumpvariables": {
"title": "$:/core/macros/dumpvariables",
"tags": "$:/tags/Macro",
"text": "\\define dumpvariables()\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n"
},
"$:/core/macros/export": {
"title": "$:/core/macros/export",
"tags": "$:/tags/Macro",
"text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\"><$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button></span><$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$set name=\"count\" value={{{ [subfilter<__exportFilter__>count[]] }}}>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$list filter=\"[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] ~[<currentTiddler>!has[condition]then[true]]\" variable=\"ignore\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=<<__exportFilter__>> filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</$list>\n</$set>\n</div>\n</$reveal>\n\\end\n"
},
"$:/core/macros/image-picker": {
"title": "$:/core/macros/image-picker",
"created": "20170715180840889",
"modified": "20170715180914005",
"tags": "$:/tags/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n$actions$\n<$transclude tiddler=<<imageTitle>>/>\n</$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n"
},
"$:/core/macros/keyboard-driven-input": {
"title": "$:/core/macros/keyboard-driven-input",
"tags": "$:/tags/Macro",
"text": "\\define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)\n<$set name=\"tabsList\" filter=\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]\">\n<$vars currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}} firstTab={{{ [enlist<tabsList>nth[1]] }}} lastTab={{{ [enlist<tabsList>last[]] }}}>\n<$set name=\"nextTab\" value={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}>\n<$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/>\n$actions$\n</$set>\n</$vars>\n</$set>\n\\end\n\n\\define keyboard-input-actions()\n<$list filter=\"[<__index__>match[]]\">\n<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>\n</$list>\n<$list filter=\"[<__index__>!match[]]\">\n<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/>\n</$list>\n\\end\n\n\\define input-next-actions-inner()\n<$list filter=\"[<nextItem>minlength[1]]\" variable=\"ignore\">\n<$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/>\n<$list filter=\"[<__index__>match[]]\">\n<$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>\n</$list>\n<$list filter=\"[<__index__>!match[]]\">\n<$action-setfield $tiddler=<<__tiddler__>> $index=<<__index__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>\n</$list>\n<$action-setfield $tiddler=<<__refreshTitle__>> text=\"yes\"/>\n</$list>\n\\end\n\n\\define input-next-actions(afterOrBefore:\"after\",reverse:\"\")\n<$list filter=\"[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]\" variable=\"ignore\">\n<$vars userInput={{{ [<__storeTitle__>get[text]] }}} selectedItem={{{ [<__selectionStateTitle__>get[text]] }}}>\n<$set name=\"configTiddler\" value={{{ [subfilter<__configTiddlerFilter__>] }}}>\n<$vars primaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}} secondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}>\n<$set name=\"filteredList\" filter=\"[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]\">\n<$vars nextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}} firstItem={{{ [enlist<filteredList>nth[1]] }}} lastItem={{{ [enlist<filteredList>last[]] }}}>\n<$list filter=\"[<selectedItem>match<firstItem>!match<lastItem>]\" variable=\"ignore\">\n<$set name=\"nextItem\" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>\n<<input-next-actions-inner>>\n</$set>\n</$list>\n<$list filter=\"[<selectedItem>match<lastItem>!match<firstItem>]\" variable=\"ignore\">\n<$set name=\"nextItem\" value={{{ [[$afterOrBefore$]match[after]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>\n<<input-next-actions-inner>>\n</$set>\n</$list>\n<$list filter=\"[<selectedItem>match<firstItem>match<lastItem>]\" variable=\"ignore\">\n<$set name=\"nextItem\" value={{{ [<userInput>addsuffix[-userInput]] }}}>\n<<input-next-actions-inner>>\n</$set>\n</$list>\n<$list filter=\"[<selectedItem>!match<firstItem>!match<lastItem>]\" variable=\"ignore\">\n<<input-next-actions-inner>>\n</$list>\n</$vars>\n</$set>\n</$vars>\n</$set>\n</$vars>\n</$list>\n\\end\n\n\\define keyboard-driven-input(tiddler,storeTitle,field:\"text\",index:\"\",tag:\"input\",type,focus:\"\",inputAcceptActions,inputAcceptVariantActions,inputCancelActions,placeholder:\"\",default:\"\",class,focusPopup,rows,minHeight,tabindex,size,autoHeight,filterMinLength:\"0\",refreshTitle,selectionStateTitle,cancelPopups:\"\",configTiddlerFilter,firstSearchFilterField:\"first-search-filter\",secondSearchFilterField:\"second-search-filter\")\n\\whitespace trim\n<$keyboard key=\"((input-accept))\" actions=<<__inputAcceptActions__>>>\n<$keyboard key=\"((input-accept-variant))\" actions=<<__inputAcceptVariantActions__>>>\n<$keyboard key=\"((input-up))\" actions=<<input-next-actions \"before\" \"reverse[]\">>>\n<$keyboard key=\"((input-down))\" actions=<<input-next-actions>>>\n<$keyboard key=\"((input-cancel))\" actions=<<__inputCancelActions__>>>\n<$edit-text tiddler=<<__tiddler__>> field=<<__field__>> index=<<__index__>> \n\t\tinputActions=<<keyboard-input-actions>> tag=<<__tag__>> class=<<__class__>> \n\t\tplaceholder=<<__placeholder__>> default=<<__default__>> focusPopup=<<__focusPopup__>> \n\t\tfocus=<<__focus__>> type=<<__type__>> rows=<<__rows__>> minHeight=<<__minHeight__>> \n\t\ttabindex=<<__tabindex__>> size=<<__size__>> autoHeight=<<__autoHeight__>> \n\t\trefreshTitle=<<__refreshTitle__>> cancelPopups=<<__cancelPopups__>>/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n\\end\n"
},
"$:/core/macros/lingo": {
"title": "$:/core/macros/lingo",
"tags": "$:/tags/Macro",
"text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
},
"$:/core/macros/list": {
"title": "$:/core/macros/list",
"tags": "$:/tags/Macro",
"text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\">\n{{$:/core/images/blank}}\n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$type$>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore:currentTiddler<actionTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n"
},
"$:/core/macros/tabs": {
"title": "$:/core/macros/tabs",
"tags": "$:/tags/Macro",
"text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain,actions,explicitState)\n<$set name=\"qualifiedState\" value=<<qualify \"$state$\">>>\n<$vars tabsState={{{ [<__explicitState__>minlength[1]] ~[<qualifiedState>] }}}>\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\" storyview=\"pop\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<tabsState>> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=\"$buttonTemplate$\" mode=\"inline\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$transclude>\n</$set></$tiddler>$actions$</$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<tabsState>> text=<<currentTab>> default=\"$default$\" retain=\"\"\"$retain$\"\"\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n</$vars>\n</$set>\n\\end\n"
},
"$:/core/macros/tag-picker": {
"title": "$:/core/macros/tag-picker",
"tags": "$:/tags/Macro",
"first-search-filter": "[tags[]!is[system]search:title<userInput>sort[]]",
"second-search-filter": "[tags[]is[system]search:title<userInput>sort[]]",
"text": "\\define get-tagpicker-focus-selector() [data-tiddler-title=\"$(currentTiddlerCSSEscaped)$\"] .tc-add-tag-name input\n\n\\define delete-tag-state-tiddlers() <$action-deletetiddler $filter=\"[<newTagNameTiddler>] [<storeTitle>] [<tagSelectionState>]\"/>\n\n\\define add-tag-actions(actions,tagField:\"tags\")\n<$set name=\"tag\" value={{{ [<__tiddler__>get[text]] }}}>\n<$list filter=\"[<saveTiddler>!contains:$tagField$<tag>!match[]]\" variable=\"ignore\" emptyMessage=\"\"\"\n<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"-[<tag>]\"/>\n\"\"\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"[<tag>]\"/>\n$actions$\n</$list>\n</$set>\n<<delete-tag-state-tiddlers>>\n<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n\\end\n\n\\define clear-tags-actions-inner()\n<$list filter=\"[<storeTitle>has[text]] [<newTagNameTiddler>has[text]]\" variable=\"ignore\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\">\n<<delete-tag-state-tiddlers>>\n</$list>\n\\end\n\n\\define clear-tags-actions()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[<newTagNameTiddler>get[text]!match<userInput>]\" emptyMessage=\"\"\"<<clear-tags-actions-inner>>\"\"\">\n<$action-setfield $tiddler=<<newTagNameTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\n\n\\define tag-picker-inner(actions,tagField:\"tags\")\n\\whitespace trim\n<$vars newTagNameInputTiddlerQualified=<<qualify \"$:/temp/NewTagName/input\">> newTagNameSelectionTiddlerQualified=<<qualify \"$:/temp/NewTagName/selected-item\">> fallbackTarget={{$(palette)$##tag-background}} colourA={{$(palette)$##foreground}} colourB={{$(palette)$##background}}>\n<$vars storeTitle={{{ [<newTagNameInputTiddler>!match[]] ~[<newTagNameInputTiddlerQualified>] }}} tagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] ~[<newTagNameSelectionTiddlerQualified>] }}}>\n<$vars refreshTitle=<<qualify \"$:/temp/NewTagName/refresh\">> nonSystemTagsFilter=\"[tags[]!is[system]search:title<userInput>sort[]]\" systemTagsFilter=\"[tags[]is[system]search:title<userInput>sort[]]\">\n<div class=\"tc-edit-add-tag\">\n<div>\n<span class=\"tc-add-tag-name tc-small-gap-right\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<newTagNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>\n\t\tselectionStateTitle=<<tagSelectionState>> inputAcceptActions=\"\"\"<$macrocall $name=\"add-tag-actions\" actions=<<__actions__>> tagField=<<__tagField__>>/>\"\"\"\n\t\tinputCancelActions=<<clear-tags-actions>> tag=\"input\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}}\n\t\tfocusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\" tabindex=<<tabIndex>> \n\t\tfocus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}} filterMinLength={{$:/config/Tags/MinLength}} \n\t\tcancelPopups=<<cancelPopups>> configTiddlerFilter=\"[[$:/core/macros/tag-picker]]\"/>\n</span><$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$reveal state=<<storeTitle>> type=\"nomatch\" text=\"\"><$button class=\"tc-btn-invisible tc-small-gap tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}} aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}>{{$:/core/images/close-button}}<<delete-tag-state-tiddlers>></$button></$reveal><span class=\"tc-add-tag-button tc-small-gap-left\">\n<$set name=\"tag\" value={{{ [<newTagNameTiddler>get[text]] }}}>\n<$button set=<<newTagNameTiddler>> setTo=\"\" class=\"\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter=\"[<tag>]\"/>\n$actions$\n<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n<<delete-tag-state-tiddlers>><$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>>/>\n</$set>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-block-tags-dropdown\">\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=<<nonSystemTagsFilter>> variable=\"tag\">\n<$list filter=\"[<tag>addsuffix[-primaryList]] -[<tagSelectionState>get[text]]\" emptyMessage=\"\"\"<$vars button-classes=\"tc-btn-invisible tc-tag-button-selected\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\"\"\">\n<$vars button-classes=\"tc-btn-invisible\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\n</$list>\n</$list></$list>\n<hr>\n<$list filter=\"[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=<<systemTagsFilter>> variable=\"tag\">\n<$list filter=\"[<tag>addsuffix[-secondaryList]] -[<tagSelectionState>get[text]]\" emptyMessage=\"\"\"<$vars button-classes=\"tc-btn-invisible tc-tag-button-selected\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\"\"\">\n<$vars button-classes=\"tc-btn-invisible\" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>\n</$list>\n</$list></$list>\n</$set>\n</div>\n</$reveal>\n</div>\n</div>\n</$vars>\n</$vars>\n</$vars>\n\\end\n\\define tag-picker(actions,tagField:\"tags\")\n\\whitespace trim\n<$vars saveTiddler=<<currentTiddler>> palette={{$:/palette}}>\n<$list filter=\"[<newTagNameTiddler>match[]]\" emptyMessage=\"\"\"<$macrocall $name=\"tag-picker-inner\" actions=<<__actions__>> tagField=<<__tagField__>>/>\"\"\">\n<$set name=\"newTagNameTiddler\" value=<<qualify \"$:/temp/NewTagName\">>>\n<$macrocall $name=\"tag-picker-inner\" actions=<<__actions__>> tagField=<<__tagField__>>/>\n</$set>\n</$list>\n</$vars>\n\\end\n"
},
"$:/core/macros/tag": {
"title": "$:/core/macros/tag",
"tags": "$:/tags/Macro",
"text": "\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$element-tag$ $element-attributes$ class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n</$element-tag$>\n</$vars>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<__tag__>get[icon]] }}} colour={{{ [<__tag__>get[color]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
},
"$:/core/macros/thumbnails": {
"title": "$:/core/macros/thumbnails",
"tags": "$:/tags/Macro",
"text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
},
"$:/core/macros/timeline": {
"title": "$:/core/macros/timeline",
"created": "20141212105914482",
"modified": "20141212110330815",
"tags": "$:/tags/Macro",
"text": "\\define timeline-title()\n\\whitespace trim\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><<timeline-title>></$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
},
"$:/core/macros/toc": {
"title": "$:/core/macros/toc",
"tags": "$:/tags/Macro",
"text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}><$view field='caption'><$view field='title'/></$view></$link>\">\n <<toc-caption>>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$set>\n </$vars>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\")\n<$macrocall $name=\"toc-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n <li class=<<toc-item-class>>>\n <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"\"\"[enlist<__exclude__>] [<__tag__>]\"\"\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </$list>\n </$list>\n </ol>\n </$set>\n</$vars>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=<<__selectedTiddler__>>>\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\"/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=<<__template__>>>\n <h1><<toc-caption>></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=<<__selectedTiddler__>>>\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>\n</$linkcatcher>\n\\end\n\n"
},
"$:/core/macros/translink": {
"title": "$:/core/macros/translink",
"tags": "$:/tags/Macro",
"text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/tree": {
"title": "$:/core/macros/tree",
"tags": "$:/tags/Macro",
"text": "\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span> <$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/utils": {
"title": "$:/core/macros/utils",
"text": "\\define colour(colour)\n$colour$\n\\end\n"
},
"$:/snippets/minifocusswitcher": {
"title": "$:/snippets/minifocusswitcher",
"text": "<$select tiddler=\"$:/config/AutoFocus\">\n<$list filter=\"title tags text type fields\">\n<option value=<<currentTiddler>>><<currentTiddler>></option>\n</$list>\n</$select>\n"
},
"$:/snippets/minilanguageswitcher": {
"title": "$:/snippets/minilanguageswitcher",
"text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/minithemeswitcher": {
"title": "$:/snippets/minithemeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/modules": {
"title": "$:/snippets/modules",
"text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
},
"$:/palette": {
"title": "$:/palette",
"text": "$:/palettes/Vanilla"
},
"$:/snippets/paletteeditor": {
"title": "$:/snippets/paletteeditor",
"text": "<$transclude tiddler=\"$:/PaletteManager\"/>\n"
},
"$:/snippets/palettepreview": {
"title": "$:/snippets/palettepreview",
"text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n"
},
"$:/snippets/paletteswitcher": {
"title": "$:/snippets/paletteswitcher",
"text": "<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]\"><$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/>{{||$:/snippets/currpalettepreview}}</$link>\n</div></$set>\n</$list>\n</div>\n</$linkcatcher>\n"
},
"$:/snippets/peek-stylesheets": {
"title": "$:/snippets/peek-stylesheets",
"text": "\\define expandable-stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n"
},
"$:/temp/search": {
"title": "$:/temp/search",
"text": ""
},
"$:/tags/AdvancedSearch": {
"title": "$:/tags/AdvancedSearch",
"list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
},
"$:/tags/AdvancedSearch/FilterButton": {
"title": "$:/tags/AdvancedSearch/FilterButton",
"list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
},
"$:/tags/ControlPanel": {
"title": "$:/tags/ControlPanel",
"list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
},
"$:/tags/ControlPanel/Info": {
"title": "$:/tags/ControlPanel/Info",
"list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
},
"$:/tags/ControlPanel/Plugins": {
"title": "$:/tags/ControlPanel/Plugins",
"list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
},
"$:/tags/EditTemplate": {
"title": "$:/tags/EditTemplate",
"list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
},
"$:/tags/EditToolbar": {
"title": "$:/tags/EditToolbar",
"list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
},
"$:/tags/EditorToolbar": {
"title": "$:/tags/EditorToolbar",
"list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
},
"$:/tags/Manager/ItemMain": {
"title": "$:/tags/Manager/ItemMain",
"list": "$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"
},
"$:/tags/Manager/ItemSidebar": {
"title": "$:/tags/Manager/ItemSidebar",
"list": "$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"
},
"$:/tags/MoreSideBar": {
"title": "$:/tags/MoreSideBar",
"list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]",
"text": ""
},
"$:/tags/PageControls": {
"title": "$:/tags/PageControls",
"list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
},
"$:/tags/PageTemplate": {
"title": "$:/tags/PageTemplate",
"list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
"text": ""
},
"$:/tags/PluginLibrary": {
"title": "$:/tags/PluginLibrary",
"list": "$:/config/OfficialPluginLibrary"
},
"$:/tags/SideBar": {
"title": "$:/tags/SideBar",
"list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
"text": ""
},
"$:/tags/SideBarSegment": {
"title": "$:/tags/SideBarSegment",
"list": "[[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]"
},
"$:/tags/TiddlerInfo": {
"title": "$:/tags/TiddlerInfo",
"list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
"text": ""
},
"$:/tags/TiddlerInfo/Advanced": {
"title": "$:/tags/TiddlerInfo/Advanced",
"list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
},
"$:/tags/ViewTemplate": {
"title": "$:/tags/ViewTemplate",
"list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
},
"$:/tags/ViewToolbar": {
"title": "$:/tags/ViewToolbar",
"list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
},
"$:/snippets/themeswitcher": {
"title": "$:/snippets/themeswitcher",
"text": "<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\"><$list filter=\"[plugin-type[theme]sort[title]]\"><$set name=\"cls\" filter=\"[all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>><$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/core/wiki/title": {
"title": "$:/core/wiki/title",
"text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
},
"$:/view": {
"title": "$:/view",
"text": "classic"
},
"$:/snippets/viewswitcher": {
"title": "$:/snippets/viewswitcher",
"text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser tc-viewswitcher\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/view}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link to=<<storyview>>><$transclude tiddler=<<icon>>/><$text text=<<storyview>>/></$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"
}
}
}
[list[$:/StoryList]]
main
index.html
lsgxs2019/lsgxs2019.github.io
lsgxs2019
no
{
"tiddlers": {
"$:/plugins/kookma/todolist/history": {
"title": "$:/plugins/kookma/todolist/history",
"created": "20200331053532911",
"modified": "20200405054217219",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "Full change log https://kookma.github.io/TW-???/#ChangeLog\n\n* ''1.2.1'' -- 2020.04.05 -- minor issue in drag and drop fixed\n* ''1.2.0'' -- 2020.04.03 -- new features, item reording using drag and drop\n* ''1.1.0'' -- 2020.03.31 -- bugs fixed, moved to new Thirdflow development platform\n* ''1.0.0'' -- 2019.07.22 -- first stable release\n"
},
"$:/plugins/kookma/todolist/images/archive.svg": {
"title": "$:/plugins/kookma/todolist/images/archive.svg",
"created": "20190716095419117",
"modified": "20200331065952093",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-file-archive tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 384 512\"><path d=\"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"/></svg>"
},
"$:/plugins/kookma/todolist/images/bug.svg": {
"title": "$:/plugins/kookma/todolist/images/bug.svg",
"created": "20190714051837328",
"modified": "20200331065952099",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-bug tc-image-button\" width=\"1em\" height=\"1em\" viewBox=\"0 0 512 512\"><path d=\"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"/></svg>"
},
"$:/plugins/kookma/todolist/images/bullhorn": {
"title": "$:/plugins/kookma/todolist/images/bullhorn",
"caption": "bullhorn (Solid)",
"created": "20190721150354198",
"modified": "20200331065952107",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-bullhorn tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 576 512\"><path d=\"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"/></svg>"
},
"$:/plugins/kookma/todolist/images/lightbulb": {
"title": "$:/plugins/kookma/todolist/images/lightbulb",
"caption": "lightbulb (Regular)",
"created": "20190721150413950",
"modified": "20200331065952116",
"tags": "$:/tags/Image [[Font Awesome 5]] Regular",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-lightbulb tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 352 512\"><path d=\"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"/></svg>"
},
"$:/plugins/kookma/todolist/images/list-alt.svg": {
"title": "$:/plugins/kookma/todolist/images/list-alt.svg",
"created": "20190716095433587",
"modified": "20200331065952123",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-list-alt tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 512 512\"><path d=\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"/></svg>"
},
"$:/plugins/kookma/todolist/images/share-alt": {
"title": "$:/plugins/kookma/todolist/images/share-alt",
"caption": "share-alt (Solid)",
"created": "20190721150321438",
"modified": "20200331065952131",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-share-alt tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 448 512\"><path d=\"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"/></svg>"
},
"$:/plugins/kookma/todolist/images/times.svg": {
"title": "$:/plugins/kookma/todolist/images/times.svg",
"created": "20190716033811299",
"modified": "20200331065952137",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-times tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 352 512\"><path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"/></svg>"
},
"$:/plugins/kookma/todolist/images/wrench.svg": {
"title": "$:/plugins/kookma/todolist/images/wrench.svg",
"created": "20190714052925874",
"modified": "20200331065952142",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-image-wrench tc-image-button\" width=\"1em\" height=\"1em\" viewBox=\"0 0 512 512\"><path d=\"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"/></svg>"
},
"$:/plugins/kookma/todolist/license": {
"title": "$:/plugins/kookma/todolist/license",
"created": "20200331053532912",
"modified": "20200331055909558",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "Distributed under an MIT license.\n\nCopyright (c) 2019-2020 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<"
},
"$:/plugins/kookma/todolist/macros/add-remove-list-item": {
"title": "$:/plugins/kookma/todolist/macros/add-remove-list-item",
"created": "20190718081952856",
"modified": "20200402154453857",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-remove-item-from-list(targetTiddler, item)\n<$action-listops $tiddler=<<__targetTiddler__>> $field=\"list\" $subfilter=\"+[remove[$item$]]\"/>\n\\end\n\n\\define todolist-add-item-to-list(targetTiddler, item)\n<$action-listops $tiddler=<<__targetTiddler__>> $field=\"list\" $subfilter=\"[[$item$]]+[putfirst[]]\"/>\n\\end\n"
},
"$:/plugins/kookma/todolist/macros/add-task": {
"title": "$:/plugins/kookma/todolist/macros/add-task",
"created": "20190715170540482",
"modified": "20200402122702989",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-input-task()\n<$keyboard key=\"escape\" actions=<<todolist-cancel-action>> >\n<$keyboard key=\"enter\" actions=<<todolist-add-task-action>> >\n<$edit-text \n tiddler=<<stateTiddler>> \n index=\"itemtext\" \n tag=\"input\"\n class=\"kk-todolist-input-textbox\"\n placeholder=\"add new item\"\n default=\"\" minHeight=\"1em\" focus=\"yes\"\n />\n</$keyboard> \n</$keyboard> \n\\end\n \n\\define todolist-add-task()\n<$button class=\"tc-btn-invisible\" tooltip=\"Add new item\">\n\t{{$:/core/images/new-button}}\n\t<<todolist-add-task-action>>\n</$button>\n\\end\n\n\\define todolist-add-task-action()\n <$list filter=\"[<stateTiddler>getindex[itemtext]!is[blank]]\" variable=ignor>\n\t<$set name=item value=<<now \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\">> >\n\t<$action-setfield \n\t $tiddler=<<taskTiddler>>\n\t $index=<<item>>\n\t $value={{{ [<stateTiddler>getindex[itemtext]] }}}\n\t/>\n\t<$action-setfield $tiddler=<<statusTiddler>> $index=<<item>> $value=\"undone\"\t/>\n\t<$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> $value=\"none\"\t/>\n <$macrocall $name=\"todolist-add-item-to-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n\t</$set>\n\t<$action-setfield $tiddler=<<stateTiddler>> $index=\"itemtext\" $value=\"\"/>\n\t</$list>\n\\end\n\n\\define todolist-cancel-action()\n <$action-setfield $tiddler=<<stateTiddler>> $index=\"itemtext\" $value=\"\"/>\n\\end"
},
"$:/plugins/kookma/todolist/macros/archive-operations": {
"title": "$:/plugins/kookma/todolist/macros/archive-operations",
"created": "20190719141644069",
"modified": "20200402120458856",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-list-archived-items(nameSpace:\"\")\n<$vars\n archiveTiddler=\"\"\"$nameSpace$/archive\"\"\"\n priorityTiddler=\"\"\"$nameSpace$/priority\"\"\"\n>\n<$list filter=\"[<archiveTiddler>indexes[]!sort[]]\" variable=\"item\">\n<div class=\"kk-todolist-row\">\n <div class=\"kk-todolist-delete\"><<todolist-delete-item>></div>\n\t<div class=\"kk-todolist-priority\"><<todolist-show-priority-level>></div>\n <div class=\"kk-todolist-desc\">\n\t<span class=\"kk-todolist-date\">\n\t<$view tiddler=<<item>> field=\"title\" format=\"date\" template=\"mmm 0DD, YYYY 0hh:0mm\"/></span>\n\t<$transclude tiddler=<<archiveTiddler>> index=<<item>>/>\n\t</div>\n</div>\n</$list>\n</$vars>\n\\end\n\n\\define todolist-show-priority-level()\n<$button class=\"tc-btn-invisible\" tooltip=\"Prority of archived items cannot be changed\">\n<$macrocall $name=\"disp-priority-badge\" color={{{[<priorityTiddler>getindex<item>]}}} />\n</$button>\n\\end\n\n\\define todolist-delete-item()\n<$button class=\"tc-btn-invisible\">\n{{$:/plugins/kookma/todolist/images/times.svg}}\n<$action-setfield $tiddler=<<archiveTiddler>> $index=<<item>> />\n<$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> />\n</$button>\n\\end\n\n\\define todolist-empty-archived-tiddler(nameSpace)\n<$vars\n archiveTiddler=\"\"\"$nameSpace$/archive\"\"\"\n priorityTiddler=\"\"\"$nameSpace$/priority\"\"\"\n>\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Empty archive\"> {{$:/core/images/delete-button}} Delete archive\n<$list filter=\"[<archiveTiddler>indexes[]!sort[]]\" variable=\"item\">\n <$action-setfield $tiddler=<<archiveTiddler>> $index=<<item>> />\n <$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> />\n</$list>\n</$button>\n</$vars>\n\\end\t "
},
"$:/plugins/kookma/todolist/macros/bulk-operation": {
"title": "$:/plugins/kookma/todolist/macros/bulk-operation",
"created": "20190716083959795",
"modified": "20200403122124607",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-all-tasks-unfinished()\n<span style=\"font-size:smaller\">\n<$list filter=\"[<taskTiddler>indexes[]limit[1]]\" emptyMessage=\"You're all done\" variable=ignore>\n<$count filter=\"[<taskTiddler>indexes[]]\"/> ITEMS\n</$list>\n</span>\n\\end\n\n\\define todolist-mark-all-button()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"markall\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Mark all items as done\" setTitle=<<stateTiddler>> setIndex=\"markall\" setTo=\"yes\">\n{{$:/core/images/save-button}}\n<<tdl-done-all>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"markall\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Mark all items as undone\" setTitle=<<stateTiddler>> setIndex=\"markall\" setTo=\"no\">\n{{$:/core/images/refresh-button}}\n<<tdl-undone-all>>\n</$button>\n</$reveal>\n\\end\n\n\\define tdl-done-all()\n<$list filter=\"[<taskTiddler>indexes[]]\" variable=\"item\">\n<$action-setfield \n$tiddler=<<doneTiddler>>\n$index=<<item>>\n$value={{{ [<taskTiddler>getindex<item>] }}}\n/>\n<$action-setfield \n$tiddler=<<statusTiddler>>\n$index=<<item>>\n$value=\"done\"\n/>\n<$macrocall $name=\"todolist-remove-item-from-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<taskTiddler>> $index=<<item>> />\n</$list>\n\\end\n\n\\define tdl-undone-all()\n<$list filter=\"[<doneTiddler>indexes[]]\" variable=\"item\">\n<$action-setfield \n$tiddler=<<taskTiddler>>\n$index=<<item>>\n$value={{{ [<doneTiddler>getindex<item>] }}}\n/>\n<$action-setfield \n$tiddler=<<statusTiddler>>\n$index=<<item>>\n$value=\"undone\"\n/>\n<$macrocall $name=\"todolist-add-item-to-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<doneTiddler>> $index=<<item>> />\n</$list>\n\\end\n\n\n\\define todolist-archive-completed-items()\n<$button class=\"tc-btn-invisible\" tooltip=\"Archive done items\">\n{{$:/plugins/kookma/todolist/images/archive.svg}}\n<$list filter=\"[<doneTiddler>indexes[]]\" variable=\"item\">\n<$action-setfield \n$tiddler=<<archiveTiddler>>\n$index=<<item>>\n$value={{{ [<doneTiddler>getindex<item>] }}}\n/>\n<$action-setfield $tiddler=<<statusTiddler>> $index=<<item>> />\n<$action-setfield $tiddler=<<doneTiddler>> $index=<<item>> />\n<$action-setfield $tiddler=<<stateTiddler>> $index=\"markall\" $value=\"no\"/>\n</$list>\n</$button>\n\\end\n\n\\define todolist-display-archived-items()\n<$button class=\"tc-btn-invisible\" tooltip=\"Display archived items\"> {{$:/plugins/kookma/todolist/images/list-alt.svg}}\n\n<$action-setfield \n$tiddler=\"$:/plugins/kookma/todolist/template/archive-list\"\ntitle=<<displayArchivedTiddler>> /> \n<$action-setfield $tiddler=<<displayArchivedTiddler>>\n$field=\"td-namespace\" $value=<<nameSpace>> />\n\n<$action-navigate $to=<<displayArchivedTiddler>> $scroll=\"yes\"/>\n</$button>\n\\end\t"
},
"$:/plugins/kookma/todolist/macros/category": {
"title": "$:/plugins/kookma/todolist/macros/category",
"created": "20190714040123984",
"modified": "20200331184650454",
"tags": "$:/tags/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define high(text) \n<span style=\"padding-left:3px;color:#cd5360;\">$text$</span>\n\\end\n\n\\define normal(text) \n<span style=\"color:#286da8;\">$text$</span>\n\\end\n\n\\define low(text) \n<span style=\"color:#b37d4e;\">$text$</span>\n\\end\n\n\\define fixme(text)\n<span class=\"kk-todolist-category-c1\">{{$:/plugins/kookma/todolist/images/wrench.svg}} $text$</span>\n\\end\n\n\\define bug(text)\n<span class=\"kk-todolist-category-c1\">{{$:/plugins/kookma/todolist/images/bug.svg}} $text$</span>\n\\end\n\n\\define horn(text)\n<span class=\"kk-todolist-category-c2\">{{$:/plugins/kookma/todolist/images/bullhorn}} $text$</span>\n\\end\n\n\\define tip(text)\n<span class=\"kk-todolist-category-c2\">{{$:/plugins/kookma/todolist/images/lightbulb}} $text$</span>\n\\end\n\n\\define share(text)\n<span class=\"kk-todolist-category-c2\">{{$:/plugins/kookma/todolist/images/share-alt}} $text$</span>\n\\end"
},
"$:/plugins/kookma/todolist/macros/confirm-delete": {
"title": "$:/plugins/kookma/todolist/macros/confirm-delete",
"created": "20190721041511697",
"modified": "20200331172725431",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-confirm-delete(\nbtnLabel:\"Delete these tiddlers\", \nconfirmMessage:\"Are you sure you wish to delete\", \nstateTiddler:\"\", \ncountFilter:\"\", \nactionMacro:\"\")\n\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Empty archive\" popup=<<qualify \"\"\"$stateTiddler$\"\"\">> > {{$:/core/images/delete-button}} $btnLabel$\n</$button>\n\n<$reveal state=<<qualify \"\"\"$stateTiddler$\"\"\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=<<__countFilter__>> />\"\"\">\n$confirmMessage$ <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Empty archive\"\nactions=<<__actionMacro__>> > \n{{$:/core/images/delete-button}} Delete all?\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n\\end"
},
"$:/plugins/kookma/todolist/macros/delete-task": {
"title": "$:/plugins/kookma/todolist/macros/delete-task",
"created": "20190715170610146",
"modified": "20200402124703285",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-delete-task(dataTiddler)\n<$button class=\"tc-btn-invisible\">\n{{$:/plugins/kookma/todolist/images/times.svg}}\n<$action-setfield $tiddler=<<__dataTiddler__>> $index=<<item>> />\n<$action-setfield $tiddler=<<statusTiddler>> $index=<<item>> />\n<$action-setfield $tiddler=<<priorityTiddler>> $index=<<item>> />\n<!-- delete item from list field of task tiddler if it is an undone task! -->\n<$reveal type=\"match\" text=<<__dataTiddler__>> default=<<taskTiddler>> >\n<$macrocall $name=\"todolist-remove-item-from-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n</$reveal>\n</$button>\n\\end\n"
},
"$:/plugins/kookma/todolist/macros/done-task": {
"title": "$:/plugins/kookma/todolist/macros/done-task",
"created": "20190715170633034",
"modified": "20200403094412340",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-done-task()\n<$checkbox \n tiddler=<<statusTiddler>> \n index=<<item>> \n checked=\"done\" \n unchecked=\"undone\" \n default=\"undone\"\n actions=<<tdl-done-actions>>\n>\n</$checkbox>\n\\end\n\n\\define tdl-done-actions()\n <$action-setfield \n $tiddler=<<doneTiddler>>\n $index=<<item>>\n $value={{{ [<taskTiddler>getindex<item>] }}}\n />\n<$macrocall $name=\"todolist-remove-item-from-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<taskTiddler>> $index=<<item>> />\n\\end"
},
"$:/plugins/kookma/todolist/macros/draggable-list": {
"title": "$:/plugins/kookma/todolist/macros/draggable-list",
"created": "20190718070116654",
"modified": "20200405054450296",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define draggable-list(targetTiddler)\n\\whitespace trim\n<$vars targetTiddler=<<__targetTiddler__>> >\n<span class=\"kk-todolist-draggable-list\">\n<$list filter=\"[list<targetTiddler>]\" variable=\"item\">\n<$droppable actions=<<droppable-actions>>>\n <div class=\"tc-droppable-placeholder kk-todolist-placeholder\"></div> \n <$draggable tiddler=<<item>> >\n <$transclude tiddler=\"$:/plugins/kookma/todolist/template/undone-task\" field=\"text\"/>\n </$draggable>\n</$droppable>\n</$list>\n<<disp-empty-placeholder>>\n</span>\n</$vars>\n\\end\n\n\\define droppable-actions()\n<!-- the $list checks to prvents drag items not listed in this Todolist -->\n<$list filter=\"[<targetTiddler>contains<actionTiddler>]\" variable=ignore>\n<$action-listops $tiddler=<<targetTiddler>> $field=\"list\" $subfilter=\"+[insertbefore:item<actionTiddler>]\"/>\n</$list>\n\\end\n\n\\define xxdisp-empty-placeholder()\n<$tiddler tiddler=\"\"><!-- an empty place holder-->\n<$droppable actions=<<droppable-actions>> tag=\"div\">\n<div style=\"height:0.5em;\"/>\n<div class=\"tc-droppable-placeholder kk-todolist-placeholder\"> </div>\n</$droppable>\n</$tiddler>\n\\end\n\n\n\\define disp-empty-placeholder()\n<$tiddler tiddler=\"\">\n<$droppable actions=<<droppable-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder kk-todolist-placeholder\">\n \n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n\\end"
},
"$:/plugins/kookma/todolist/macros/explore-internalTids": {
"title": "$:/plugins/kookma/todolist/macros/explore-internalTids",
"created": "20190719143452217",
"modified": "20200401214333824",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-fullbaseName() $(td-basePath)$$(baseName)$\n\n\\define todolist-explore-data-tiddlers()\n\n><b>Number of internal tiddlers found: <$count filter=\"[all[tiddlers+shadows]prefix<td-basePath>]\" /></b><br>\n><$macrocall $name=\"todolist-delete-all-tids\" filter=<<dataTids>> />\n\n<h2> Todo lists</h2>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<td-basePath>splitbefore[/]removesuffix[/]sort[]]\" variable=\"baseName\">\n\n<$set name=bsFilter value=\"[prefix<todolist-fullbaseName>sort[]]\">\n<h3><<todolist-delete-all-tids-baseName>> <<baseName>></h3>\n<blockquote>\n<$list filter=<<bsFilter>> variable=\"internalTid\" emptyMessage=\"//No internal data tiddlers is found!//\">\n<div class=\"kk-todolist-row\">\n<div class=\"kk-todolist-delete\"><$macrocall $name=\"todolist-delete-single-iternalTid\" /></div>\n<div class=\"kk-todolist-desc\"><$link to=<<internalTid>>><$view tiddler=<<internalTid>> field=\"title\"/></$link></div>\n</div>\n</$list>\n</blockquote>\n</$set>\n\n</$list>\n\n\\end\n\n\n\\define todolist-delete-single-iternalTid()\n<$button class=\"tc-btn-invisible tc-tiddlylink\">\n\t{{$:/plugins/kookma/todolist/images/times.svg}}\n\t<$action-deletetiddler $tiddler=<<internalTid>> />\n</$button>\n\\end\n\n\\define todolist-delete-all-tids-baseName()\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"Delete all data tiddlers in this Todo list?\"> {{$:/core/images/delete-button}}\n <$action-deletetiddler $filter=<<bsFilter>> />\n</$button>\n\\end\n\n\\define todolist-delete-all-tids()\n<!-- uses confirm delete macro to notify user when delete all internal tiddlers -->\n<$macrocall $name=\"todolist-confirm-delete\" \nbtnLabel=\"Delete all interal tiddlers?\"\nstateTiddler=\"temp\"\ncountFilter=\"[all[tiddlers+shadows]prefix<td-basePath>]\"\nactionMacro=<<action-empty-archive>>\n/>\n\\end\n\\define action-empty-archive()\n<$action-deletetiddler $filter=\"[all[tiddlers+shadows]prefix<td-basePath>]\" />\n\\end\t \n"
},
"$:/plugins/kookma/todolist/macros/nondraggable-list": {
"title": "$:/plugins/kookma/todolist/macros/nondraggable-list",
"created": "20200403105715811",
"modified": "20200403105734826",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define disp-list-in-edit-mode()\n<$list filter=\"[list<taskTiddler>]\" variable=\"item\">\n <$transclude tiddler=\"$:/plugins/kookma/todolist/template/undone-task\" field=\"text\"/>\n</$list>\n\\end"
},
"$:/plugins/kookma/todolist/macros/options": {
"title": "$:/plugins/kookma/todolist/macros/options",
"created": "20190716075847899",
"modified": "20200403120956166",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-options-button()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"option\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Show options\" setTitle=<<stateTiddler>> setIndex=\"option\" setTo=\"yes\">\n{{$:/core/images/options-button}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"option\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"Hide options\" setTitle=<<stateTiddler>> setIndex=\"option\" setTo=\"no\">\n{{$:/core/images/options-button}}\n</$button>\n</$reveal>\n\\end\n\n\\define todolist-options-content()\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"option\" text=\"yes\">\n<<todolist-mark-all-button>> <<todolist-archive-completed-items>> <<todolist-display-archived-items>> <<todolist-toggle-timestamp>> <<todolist-all-tasks-unfinished>>\n</$reveal>\n\\end\n\n"
},
"$:/plugins/kookma/todolist/macros/priority": {
"title": "$:/plugins/kookma/todolist/macros/priority",
"created": "20190718170817837",
"modified": "20200402105643019",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define categoryColors()\n<$list filter=\"[[$:/plugins/kookma/todolist/settings/colors]indexes[]sortby{$:/plugins/kookma/todolist/settings/colors!!list}]\" variable=color>\n<<color>>\n</$list>\n\\end\n\n\\define todolist-set-priority()\n<$wikify name=colors text=<<categoryColors>> >\n<$macrocall $name=\"todolist-cycle-color\" arraySet=<<colors>> stateTiddler=<<priorityTiddler>> stateIndex=<<item>> />\n</$wikify>\n\\end\n\n\\define disp-priority-badge(color)\n<svg width=\"12\" height=\"12\" >\n<circle cx=\"6\" cy=\"6\" r=\"5\" stroke=\"grey\" fill=\"$color$\" />\n</svg>\n\\end\n\n\n\\define todolist-cycle-color(arraySet:\"\", stateTiddler:\"\", stateIndex:\"txt\")\n<$vars array=<<__arraySet__>> currentColor={{{[<__stateTiddler__>getindex<__stateIndex__>]}}} >\n<$button class=\"tc-btn-invisible\" tooltip=\"Set priority level\">\n <$macrocall $name=\"disp-priority-badge\" color=<<currentColor>> />\n <$set\n filter='[enlist<array>after<currentColor>]'\n name=NextItem\n emptyValue={{{[enlist<array>first[]]}}}\n >\n <$action-setfield\n $tiddler=<<__stateTiddler__>>\n $index=<<__stateIndex__>>\n $value=<<NextItem>> />\n </$set>\n </$button>\n</$vars>\t\n\\end"
},
"$:/plugins/kookma/todolist/macros/show-task": {
"title": "$:/plugins/kookma/todolist/macros/show-task",
"created": "20190715170652239",
"modified": "20200403054629783",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-show-task()\n<$keyboard key=\"enter\" actions=<<tdl-kbd-action>> >\n<$list filter=\"[<stateTiddler>getindex[editview]match[edit]]\" \n emptyMessage=\"\"\"<$macrocall $name=\"view-task\" dataTiddler=<<taskTiddler>> />\"\"\" >\n<$edit-text \n tiddler=<<taskTiddler>>\n index=<<item>>\n tag=input\n class=\"kk-todolist-input-textbox\"\n />\n</$list>\n</$keyboard>\n\\end\n\n\\define tdl-kbd-action()\n<$action-setfield $tiddler=<<stateTiddler>> $index=\"editview\" $value=\"view\" />\n\\end\n\n\\define view-task(dataTiddler)\n<$transclude tiddler=<<__dataTiddler__>> index=<<item>>/>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"timestamp\" text=\"show\">\n<span class=\"kk-todolist-date\"> <$view tiddler=<<item>> field=\"title\" format=\"date\" template=\"mmm 0DD, YYYY 0hh:0mm\"/></span>\n</$reveal>\n\\end"
},
"$:/plugins/kookma/todolist/macros/toggle-edit-button": {
"title": "$:/plugins/kookma/todolist/macros/toggle-edit-button",
"created": "20190715171733677",
"modified": "20200331172725488",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-toggle-edit-button()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"editview\" text=\"edit\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"editview\" setTo=\"edit\" tooltip=\"Edit items\">\n{{$:/core/images/edit-button}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"editview\" text=\"edit\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"editview\" setTo=\"view\" tooltip=\"Save items\">\n{{$:/core/images/done-button}}\n</$button>\n</$reveal>\n\\end"
},
"$:/plugins/kookma/todolist/macros/toggle-timestamp": {
"title": "$:/plugins/kookma/todolist/macros/toggle-timestamp",
"created": "20190722034557852",
"modified": "20200331172725496",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-toggle-timestamp()\n<$reveal type=\"nomatch\" stateTitle=<<stateTiddler>> stateIndex=\"timestamp\" text=\"show\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"timestamp\" setTo=\"show\" tooltip=\"Show timestamp\">\n{{$:/core/images/timestamp-on}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<stateTiddler>> stateIndex=\"timestamp\" text=\"show\">\n<$button class=\"tc-btn-invisible\" setTitle=<<stateTiddler>> setIndex=\"timestamp\" setTo=\"hide\" tooltip=\"Hide timestamp\">\n{{$:/core/images/timestamp-off}}\n</$button>\n</$reveal>\n\\end"
},
"$:/plugins/kookma/todolist/macros/ui": {
"title": "$:/plugins/kookma/todolist/macros/ui",
"created": "20190715170739310",
"modified": "20200405061046677",
"tags": "$:/tags/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define td-basePath() $:/todolist/data/\n\n\\define todolist-ui(caption:\"A plain todolist\", width:\"100%\" base:\"base\")\n\\import [all[tiddlers+shadows]tag[$:/tags/Todolist/Macro]!has[draft.of]]\n\\whitespace trim\n\n<$vars \n nameSpace= \"$(td-basePath)$$base$\"\n stateTiddler= \"$(td-basePath)$$base$/state\"\n taskTiddler= \"$(td-basePath)$$base$/tasks\"\n doneTiddler= \"$(td-basePath)$$base$/done\"\n statusTiddler= \"$(td-basePath)$$base$/status\"\n priorityTiddler=\"$(td-basePath)$$base$/priority\"\n archiveTiddler= \"$(td-basePath)$$base$/archive\"\t\n displayArchivedTiddler=\"Todolist - Archived Items - $base$\"\n>\t\n<div class=\"kk-todolist-ui\" style=\"max-width:$width$;\">\n\n$caption$\n\n<div class=\"kk-todolist-header-ui\">\n<div class=\"kk-todolist-header-textbox\"><<todolist-input-task>></div>\n<div><<todolist-add-task>></div>\n<div><<todolist-toggle-edit-button>></div>\n<div><<todolist-options-button>></div>\n</div>\n<<todolist-options-content>>\n<!--\n<$list filter=\"[<taskTiddler>indexes[]!sort[]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/kookma/todolist/template/undone-task\" field=\"text\" />\n</$list>\n-->\n\n<!-- display undone items -->\n<$list filter=\"[<stateTiddler>getindex[editview]match[edit]]\" variable=ignore \n emptyMessage=\"\"\"<$macrocall $name=\"draggable-list\" targetTiddler=<<taskTiddler>> />\"\"\">\n\t <<disp-list-in-edit-mode>>\n</$list>\n\n<div style=\"height:0.2em\"/>\n\n<!-- display done items -->\n<$list filter=\"[<doneTiddler>indexes[]!nsort[]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/kookma/todolist/template/done-task\" field=\"text\" />\n</$list>\n</div>\n</$vars>\n\\end\n"
},
"$:/plugins/kookma/todolist/macros/undone-task": {
"title": "$:/plugins/kookma/todolist/macros/undone-task",
"created": "20190715190405259",
"modified": "20200403094425309",
"tags": "$:/tags/Todolist/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define todolist-undone-task()\n<$checkbox \ntiddler=<<statusTiddler>> \nindex=<<item>> \nchecked=\"done\" \nunchecked=\"undone\" \ndefault=\"undone\"\nuncheckactions=<<tdl-undone-actions>>\n>\n</$checkbox>\n\\end\n\n\\define tdl-undone-actions()\n<$action-setfield \n$tiddler=<<taskTiddler>>\n$index=<<item>>\n$value={{{ [<doneTiddler>getindex<item>] }}}\n/><\n<$macrocall $name=\"todolist-add-item-to-list\" targetTiddler=<<taskTiddler>> item=<<item>> />\n<$action-setfield $tiddler=<<doneTiddler>> $index=<<item>> />\n\\end\n"
},
"$:/plugins/kookma/todolist/readme": {
"title": "$:/plugins/kookma/todolist/readme",
"created": "20200331053532913",
"modified": "20200403133906816",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "; Todolist\nTodolist is a small pure wikitext plugin, contain all of the tasks that you need to complete on a given day. Todolist gives you the confidence that everything’s organized and accounted for, so you can make progress on the things that are important to you.\n\nYou can also make to-dos for major tasks like a project, a work assignment or an overall goal. Therefore, the overall purpose of creating a to-do is to remember tasks and prioritize them.\n\n\n;Code and demo\nFor learning plugin features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Todolist/\n* Code: https://github.com/kookma/TW-Todolist\n"
},
"$:/plugins/kookma/todolist/settings/colors": {
"title": "$:/plugins/kookma/todolist/settings/colors",
"text": "limegreen:50\nyellow: 70\norange: 80\nred: 100\npink: 90\nturquoise:40\ndodgerblue:30\nnone:10",
"type": "application/x-tiddler-dictionary",
"created": "20200402092725933",
"list": "limegreen yellow orange red pink turquoise dodgerblue none",
"modified": "20200403064915453",
"tags": ""
},
"$:/plugins/kookma/todolist/settings/internals": {
"title": "$:/plugins/kookma/todolist/settings/internals",
"caption": "Todolist",
"created": "20190716171918410",
"modified": "20200401221146952",
"tags": "$:/tags/ControlPanel/SettingsTab",
"type": "text/vnd.tiddlywiki",
"text": "\\import $:/plugins/kookma/todolist/macros/explore-internalTids\n\n!! Explore Todolist internal tiddlers\n<<<\nTodolist plugin uses some internal data tiddlers to create and manage todo list. Each todolist uses several data tiddlers. It is recommended after deleting a todolist, delete all data tiddlers which are not in use.\n<<<\n\n<<todolist-explore-data-tiddlers>>\n\n\n"
},
"$:/plugins/kookma/todolist/styles/drag-drop": {
"title": "$:/plugins/kookma/todolist/styles/drag-drop",
"text": "/* drag and drop elements */\n.kk-todolist-placeholder { \n\tposition:relative; \n\theight:0; \t\n\tborder:0 !important; \n\tborder-bottom:1px dotted grey !important; \n}\n\n.kk-todolist-draggable-list .tc-draggable { cursor: default !important; }\n",
"created": "20200402192425421",
"modified": "20200403112252654",
"tags": "$:/tags/Stylesheet",
"type": "text/css"
},
"$:/plugins/kookma/todolist/styles/main.css": {
"title": "$:/plugins/kookma/todolist/styles/main.css",
"text": "/* Todolist main ui */\n.kk-todolist-ui{\n\tmin-width:320px; /* controls the minimum width of whole ui */\n}\n\n.kk-todolist-ui svg{\n\tfill:#aaaaaa;\n}\n\n\n.kk-todolist-ui button:hover svg {\n\tfill: #888888; \n}\n\n\n/* Todolist header ui */\n\n.kk-todolist-header-ui{\n\tdisplay: flex;\n\twidth: 100%;\n}\n.kk-todolist-header-ui > div{\n\tmargin: 2px;\n\tflex-grow:0;\t\n}\n.kk-todolist-header-ui .kk-todolist-header-textbox{\n\tflex-grow:1;\t\n}\n\n/* Todolist items ui */\n.kk-todolist-row{\n\tdisplay: flex;\t\n\twidth: 100%; /* for larg screen width> 960px*/\n\tflex-wrap: wrap;\n}\n\n.kk-todolist-row .kk-todolist-done,\n.kk-todolist-row .kk-todolist-priority,\n.kk-todolist-row .kk-todolist-delete {\n\tflex-grow:0; width:15px;\n}\n\n.kk-todolist-row .kk-todolist-desc{\n\tflex-grow:1; \n\twidth: calc(100% - 50px); \n\tpadding-left: 10px;\n\tpadding-right: 10px;\n}\n.kk-todolist-row .kk-todolist-delete {\n\topacity: 0.3;\n}\n\n.kk-todolist-row .kk-todolist-priority{\n\tmargin-right:5px;\n}\n.kk-todolist-row:hover {\n\tbackground-color: #f6f6f6;\n}\n.kk-todolist-row:hover .kk-todolist-delete {\n\topacity: 1;\n}",
"created": "20190716040116074",
"modified": "20200401084920801",
"tags": "$:/tags/Stylesheet",
"type": "text/css"
},
"$:/plugins/kookma/todolist/styles/other.css": {
"title": "$:/plugins/kookma/todolist/styles/other.css",
"text": "/* completed item */\n\n.kk-todolist-item-done {\n\ttext-decoration: red line-through;\n\tfont-style: italic;\n}\n\n/* inputbox for add-task */\n.kk-todolist-input-textbox {\n\twidth:100%;\n\tpadding-left: 5px;\n\tborder: none;\n\tborder-bottom: 1px dotted grey;\n}\n\n.kk-todolist-input-textbox:focus {\n\toutline: none;\n\tborder-bottom: 1px solid #5778d8;\n\tbackground: transparent;\n}\n\n/* item timestamp */\n.kk-todolist-date {\n\tfont-size:0.8em;\n\tcolor:#c0c0c0;\n}\n\n/* Item categories */\n.kk-todolist-category-c1,\n.kk-todolist-category-c2 {\n\tpadding-right:3px;\n}\n\n.kk-todolist-category-c1 svg, \n.kk-todolist-category-c2 svg {\n\topacity:0.70;\n\tvertical-align: middle;\n\twidth: 1em;\n\theight: 1em;\n}\n\n.kk-todolist-category-c1 svg{\n\tfill:#8B0000;\n}\n\n.kk-todolist-category-c2 svg{\n\tfill:#006400;\n}",
"created": "20190715171940902",
"modified": "20200401084923039",
"tags": "$:/tags/Stylesheet",
"type": "text/css"
},
"$:/plugins/kookma/todolist/template/archive-list": {
"title": "$:/plugins/kookma/todolist/template/archive-list",
"created": "20190716084402662",
"modified": "20200401214548455",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "\\import $:/plugins/kookma/todolist/macros/archive-operations\n\\import $:/plugins/kookma/todolist/macros/priority\n\n!! Archive of completed (done) items\n\n<$macrocall $name=\"todolist-empty-archived-tiddler\" nameSpace={{!!td-namespace}} />\n\n> <$macrocall $name=\"todolist-list-archived-items\" nameSpace={{!!td-namespace}} />\n\n"
},
"$:/plugins/kookma/todolist/template/done-task": {
"title": "$:/plugins/kookma/todolist/template/done-task",
"created": "20200402102928801",
"modified": "20200402103156109",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<div class=\"kk-todolist-row\">\n <div class=\"kk-todolist-done\"><<todolist-undone-task>></div>\n <div class=\"kk-todolist-desc\"><span class=\"kk-todolist-item-done\">\n\t<$macrocall $name=\"view-task\" dataTiddler=<<doneTiddler>> /></span></div>\n\t<div class=\"kk-todolist-priority\"><<todolist-set-priority>></div>\n <div class=\"kk-todolist-delete\"><$macrocall $name=\"todolist-delete-task\" dataTiddler=<<doneTiddler>>/></div>\n</div>\n"
},
"$:/plugins/kookma/todolist/template/undone-task": {
"title": "$:/plugins/kookma/todolist/template/undone-task",
"created": "20200402103007259",
"modified": "20200402103542808",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<div class=\"kk-todolist-row\">\n\t<div class=\"kk-todolist-done\"><<todolist-done-task>></div>\n\t<div class=\"kk-todolist-desc\"><<todolist-show-task>></div>\n\t<div class=\"kk-todolist-priority\"><<todolist-set-priority>></div>\n\t<div class=\"kk-todolist-delete\"><$macrocall $name=\"todolist-delete-task\" dataTiddler=<<taskTiddler>>/></div>\n</div>"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/evernote/docs": {
"title": "$:/plugins/tiddlywiki/evernote/docs",
"text": "! Introduction\n\n"
},
"$:/plugins/tiddlywiki/evernote/modules/enex-deserializer.js": {
"title": "$:/plugins/tiddlywiki/evernote/modules/enex-deserializer.js",
"text": "/*\\\ntitle: $:/plugins/tiddlywiki/evernote/modules/enex-deserializer.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nENEX file deserializer\n\nFor details see: https://blog.evernote.com/tech/2013/08/08/evernote-export-format-enex/\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// DOMParser = require(\"$:/plugins/tiddlywiki/xmldom/dom-parser\").DOMParser;\n\n/*\nParse an ENEX file into tiddlers\n*/\nexports[\"application/enex+xml\"] = function(text,fields) {\n\t// Collect output tiddlers in an array\n\tvar results = [];\n\t// Parse the XML document\n\tvar parser = new DOMParser(),\n\t\tdoc = parser.parseFromString(text,\"application/xml\");\n\t// Output a report tiddler with information about the import\n\tvar enex = doc.querySelector(\"en-export\");\n\tresults.push({\n\t\ttitle: \"Evernote Import Report\",\n\t\ttext: \"Evernote file imported on \" + enex.getAttribute(\"export-date\") + \" from \" + enex.getAttribute(\"application\") + \" (\" + enex.getAttribute(\"version\") + \")\"\n\t})\n\t// Get all the \"note\" nodes\n\tvar noteNodes = doc.querySelectorAll(\"note\");\n\t$tw.utils.each(noteNodes,function(noteNode) {\n\t\tvar result = {\n\t\t\ttitle: getTextContent(noteNode,\"title\"),\n\t\t\ttype: \"text/html\",\n\t\t\ttags: [],\n\t\t\ttext: getTextContent(noteNode,\"content\"),\n\t\t\tmodified: convertDate(getTextContent(noteNode,\"created\")),\n\t\t\tcreated: convertDate(getTextContent(noteNode,\"created\"))\n\n\t\t};\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"tag\"),function(tagNode) {\n\t\t\tresult.tags.push(tagNode.textContent);\n\t\t});\n\t\t// If there's an update date, set modifiy date accordingly\n\t\tvar update = getTextContent(noteNode,\"updated\");\n\t\tif(update) {\n\t\t\tresult.modified = convertDate(update);\n\t\t}\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"note-attributes>*\"),function(attrNode) {\n\t\t\tresult[attrNode.tagName] = attrNode.textContent;\n\t\t});\n\t\tresults.push(result);\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"resource\"),function(resourceNode) {\n\t\t\tresults.push({\n\t\t\t\ttitle: getTextContent(resourceNode,\"resource-attributes>file-name\"),\n\t\t\t\ttype: getTextContent(resourceNode,\"mime\"),\n\t\t\t\twidth: getTextContent(resourceNode,\"width\"),\n\t\t\t\theight: getTextContent(resourceNode,\"height\"),\n\t\t\t\ttext: getTextContent(resourceNode,\"data\")\n\t\t\t});\n\t\t});\n\t});\n\t// Return the output tiddlers\n\treturn results;\n};\n\nfunction getTextContent(node,selector) {\n\treturn (node.querySelector(selector) || {}).textContent;\n}\n\nfunction convertDate(isoDate) {\n\treturn (isoDate || \"\").replace(\"T\",\"\").replace(\"Z\",\"\") + \"000\"\n}\n\n})();\n",
"type": "application/javascript",
"module-type": "tiddlerdeserializer"
},
"$:/plugins/tiddlywiki/evernote/readme": {
"title": "$:/plugins/tiddlywiki/evernote/readme",
"text": "This plugin contains tool to assist migration of content from Evernote ENEX files.\n\n!! Instructions\n\n# Download or save your ENEX file from Evernote\n# Rename the file to have an `.enex` extension\n# Drag the file into the TiddlyWiki browser window\n## Alternatively, click the \"Import\" button in the \"Tools\" sidebar tab\n# Review and accept the converted tiddlers\n"
}
}
}
{
"tiddlers": {
"$:/config/DefaultColourMappings/menubar-foreground": {
"title": "$:/config/DefaultColourMappings/menubar-foreground",
"text": "#fff"
},
"$:/config/DefaultColourMappings/menubar-background": {
"title": "$:/config/DefaultColourMappings/menubar-background",
"text": "#5778d8"
},
"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols": {
"title": "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols",
"text": "hide"
},
"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server": {
"title": "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server",
"text": "hide"
},
"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar": {
"title": "$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar",
"text": "hide"
},
"$:/config/plugins/menubar/TableOfContents/Tag": {
"title": "$:/config/plugins/menubar/TableOfContents/Tag",
"text": "TableOfContents"
},
"$:/config/plugins/menubar/breakpoint": {
"title": "$:/config/plugins/menubar/breakpoint",
"text": "620px"
},
"$:/plugins/tiddlywiki/menubar/config": {
"title": "$:/plugins/tiddlywiki/menubar/config",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "Menu Bar",
"text": "\\define config-base() $:/config/plugins/menubar/MenuItems/Visibility/\n\n! Menu Bar Configuration\n\n!! Menu Items\n\nSelect which menu items will be shown. You can also drag items to reorder them.\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/MenuBar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n\n!! Breakpoint Position\n\nThe breakpoint position between narrow and wide screens. Should include CSS units (eg. `400px`).\n\n<$edit-text tiddler=\"$:/config/plugins/menubar/breakpoint\" default=\"\" tag=\"input\"/>\n\n!! Contents Tag\n\nThe tag for the ~TableOfContents used in the Contents dropdown\n\n<$edit-text tiddler=\"$:/config/plugins/menubar/TableOfContents/Tag\" default=\"\" tag=\"input\"/>\n\n!! Menu Bar Colours\n\nTo change the colour of the menu bar, define the colours `menubar-foreground` and `menubar-background` in the currently selected palette\n"
},
"$:/plugins/tiddlywiki/menubar/items/contents": {
"title": "$:/plugins/tiddlywiki/menubar/items/contents",
"caption": "Contents",
"description": "Table of Contents",
"is-dropdown": "yes",
"tags": "$:/tags/MenuBar",
"text": "<div class=\"tc-table-of-contents\">\n\n<$macrocall $name=\"toc-selective-expandable\" tag={{$:/config/plugins/menubar/TableOfContents/Tag}}/>\n\n</div>\n"
},
"$:/plugins/tiddlywiki/menubar/items/hamburger": {
"title": "$:/plugins/tiddlywiki/menubar/items/hamburger",
"tags": "$:/tags/MenuBar",
"caption": "Hamburger",
"description": "Show the full menu bar on a narrow screen",
"custom-menu-content": "{{$:/plugins/tiddlywiki/menubar/items/hamburger}}",
"show-when": "narrow",
"text": "<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[no]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"yes\">\n{{$:/core/images/menu-button}}\n</$button>\n</$list>\n<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[yes]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"no\">\n{{$:/core/images/close-button}}\n</$button>\n</$list>\n"
},
"$:/plugins/tiddlywiki/menubar/items/pagecontrols": {
"title": "$:/plugins/tiddlywiki/menubar/items/pagecontrols",
"tags": "$:/tags/MenuBar",
"description": "Page controls from the sidebar",
"caption": "Page controls",
"custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/pagecontrols\" mode=\"inline\"/>",
"text": "\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$list>\n</$set>\n</$list>\n"
},
"$:/plugins/tiddlywiki/menubar/items/search": {
"title": "$:/plugins/tiddlywiki/menubar/items/search",
"custom-menu-content": "{{$:/plugins/tiddlywiki/menubar/items/search}}",
"description": "Search",
"caption": "Search",
"tags": "$:/tags/MenuBar",
"text": "\\define cancel-search-actions()\n<$set name=\"userInput\" value={{{ [<__storeTitle__>get[text]] }}}>\n<$list filter=\"[<__tiddler__>get[text]!match<userInput>]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[<__storeTitle__>] [<__tiddler__>] [<__selectionStateTitle__>]\"/>\"\"\">\n<$action-setfield $tiddler=<<__tiddler__>> text=<<userInput>>/><$action-setfield $tiddler=<<__refreshTitle__>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\whitespace trim\n<$vars searchTiddler=\"$:/temp/menubarsearch/input\" searchListState=<<qualify \"$:/state/search-list/selected-item\">>>\n<span style=\"margin: 0 0.5em;\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/menubarsearch\" storeTitle=<<searchTiddler>> selectionStateTitle=<<searchListState>> \n\t\trefreshTitle=\"$:/temp/menubarsearch/refresh\" tag=\"input\" type=\"search\" focusPopup=\"$:/state/popup/menubar-search-dropdown\" \n\t\tclass=\"tc-popup-handle tc-menu-show-when-wide\" placeholder=\"Search...\" default=\"\" cancelPopups=\"yes\" \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> inputCancelActions=<<cancel-search-actions>> \n\t\tfilterMinLength={{$:/config/Search/MinLength}} configTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</$keyboard>\n</$keyboard>\n</span>\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/state/popup/menubar-search-dropdown\" type=\"nomatch\" text=\"\" default=\"\">\n\n<div class=\"tc-block-dropdown tc-search-drop-down\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">Type your search terms</div>\"\"\" variable=\"ignore\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$vars configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} userInput={{{ [<searchTiddler>get[text]] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$list>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n</$vars>\n"
},
"$:/plugins/tiddlywiki/menubar/items/server": {
"title": "$:/plugins/tiddlywiki/menubar/items/server",
"tags": "$:/tags/MenuBar",
"description": "Server options",
"caption": "Server",
"custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/server\" mode=\"inline\"/>",
"text": "<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[yes]]\" variable=\"ignore\">\n<$transclude tiddler=\"$:/core/ui/Buttons/save-wiki\" mode=\"inline\"/>\n</$list>\n<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[no]]\" variable=\"ignore\">\n<$button message=\"tm-login\">\nLogin\n</$button>\n</$list>\n"
},
"$:/plugins/tiddlywiki/menubar/items/sidebar": {
"title": "$:/plugins/tiddlywiki/menubar/items/sidebar",
"caption": "Sidebar",
"description": "Sidebar",
"is-dropdown": "yes",
"tags": "$:/tags/MenuBar",
"text": "<$scrollable fallthrough=\"none\" class=\"tc-popup-keep tc-menubar-dropdown-sidebar\">\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\" mode=\"inline\"/>\n\n</$scrollable>\n"
},
"$:/plugins/tiddlywiki/menubar/items/topleftbar": {
"title": "$:/plugins/tiddlywiki/menubar/items/topleftbar",
"tags": "$:/tags/MenuBar",
"description": "Items from $:/tags/TopLeftBar",
"caption": "Legacy Top Left Bar",
"custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/topleftbar\" mode=\"inline\"/>",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>"
},
"$:/plugins/tiddlywiki/menubar/items/toprightbar": {
"title": "$:/plugins/tiddlywiki/menubar/items/toprightbar",
"tags": "$:/tags/MenuBar",
"description": "Items from $:/tags/TopRightBar",
"caption": "Legacy Top Right Bar",
"custom-menu-content": "<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/toprightbar\" mode=\"inline\"/>",
"custom-menu-styles-wide": "float: right;",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]reverse[]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>"
},
"$:/plugins/tiddlywiki/menubar/menu": {
"title": "$:/plugins/tiddlywiki/menubar/menu",
"tags": "$:/tags/PageTemplate",
"text": "\\define menubar-inner(size)\n<ul class=\"tc-menubar-list\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$list filter=\"[[$size$]match[wide]] ~[<currentTiddler>get[show-when]match[$size$]] ~[{$:/state/popup/menubar/hamburger}match[yes]]\" variable=\"ignore\">\n<li style={{!!custom-menu-styles-$size$}} class={{{ [<currentTiddler>get[show-when]addprefix[tc-menubar-]] tc-menubar-item +[join[ ]] }}}>\n<$list filter=\"[<currentTiddler>!is-dropdown[yes]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Dropdown -->\n\t<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n\t<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n\t<$button popup=<<dropdown-state>> selectedClass=\"tc-selected\">\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t<$text text=\" \"/>\n\t<span class=\"tc-menubar-dropdown-arrow\">\n\t<$transclude tiddler=\"$:/core/images/down-arrow\" mode=\"inline\"/>\n\t</span>\n\t</$set>\n\t</$button>\n\t</$set>\n\t</$set>\n\"\"\">\n<$list filter=\"[<currentTiddler>has[custom-menu-content]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Link -->\n\t<$link to={{!!target}}>\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t</$set>\n\t</$link>\n\"\"\">\n<!-- Custom content -->\n<$transclude field=\"custom-menu-content\" mode=\"inline\"/>\n</$list>\n</$list>\n</li>\n</$list>\n</$list>\n</$list>\n</ul>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[limit[1]]\" variable=\"listItem\">\n<nav class=\"tc-menubar tc-adjust-top-of-scroll\">\n<div class=\"tc-menubar-narrow\">\n<<menubar-inner narrow>>\n</div>\n<div class=\"tc-menubar-wide\">\n<<menubar-inner wide>>\n</div>\n<div style=\"clear:both;\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]is-dropdown[yes]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n<$reveal type=\"popup\" state=<<dropdown-state>> class={{{ [<currentTiddler>get[dropdown]get[class]] }}} tag=\"div\">\n<div class=\"tc-drop-down\">\n<$transclude/>\n</div>\n</$reveal>\n</$set>\n</$set>\n</$list>\n</$list>\n</nav>\n</$list>\n"
},
"$:/core/ui/PageTemplate/topleftbar": {
"title": "$:/core/ui/PageTemplate/topleftbar",
"text": "<!-- The menubar plugin overrides this tiddler to remove the core top left menu. The menu items that it would include are instead included in the menubar -->"
},
"$:/core/ui/PageTemplate/toprightbar": {
"title": "$:/core/ui/PageTemplate/toprightbar",
"text": "<!-- The menubar plugin overrides this tiddler to remove the core top right menu. The menu items that it would include are instead included in the menubar -->"
},
"$:/plugins/tiddlywiki/menubar/readme": {
"title": "$:/plugins/tiddlywiki/menubar/readme",
"text": "!! Introduction\n\nThis plugin provides a menu bar with the following features:\n\n* Menu items take the form of simple text links, dropdowns, or entirely custom content\n* Menu items can be individually enabled via the control panel\n* Responds to reduced screen width by abbreviating the menu items to a \"hamburger\" dropdown\n\n!! Menu Item Tiddlers\n\nMenu items are tagged <<tag $:/tags/MenuBar>>. The following fields are used by this plugin:\n\n|!Field Name |!Purpose |\n|title |Each menu item must have a unique title (not shown to the user) |\n|description |Description for use in listings |\n|tags |Must contain `$:/tags/MenuBar` |\n|caption |The text that is displayed for the menu item. Avoid links, using `~` to suppress CamelCase links if required |\n|target |For simple link menu items specifies a tiddler title as the target of the link |\n|is-dropdown |Set to `yes` to indicate a dropdown menu item |\n|text |For dropdown menu items, specifies the body of the dropdown |\n|custom-menu-content |Optional wikitext to be displayed in place of the caption |\n|custom-menu-styles-wide |Optional string of styles to be applied to menu item when the menubar is wide |\n|custom-menu-styles-narrow |Optional string of styles to be applied to menu item when the menubar is narrow |\n\nCustom menu items should make sure that the clickable link or button is an immediate child, and not wrapped in another element.\n\nNote that menu items can be pushed to the right of the menu bar setting the ''custom-menu-styles'' field to `float: right;`.\n"
},
"$:/plugins/tiddlywiki/menubar/styles": {
"title": "$:/plugins/tiddlywiki/menubar/styles",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\define breakpoint-plus-one()\n<$text text={{{ [{$:/config/plugins/menubar/breakpoint}removesuffix[px]add[1]addsuffix[px]] ~[{$:/config/plugins/menubar/breakpoint}] }}} />\n\\end\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}} />\n\\end\n\n\\define set-sidebar-scrollable-top-if-hamburger()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[$:/plugins/tiddlywiki/menubar/items/toprightbar]] -$:/plugins/tiddlywiki/menubar/items/hamburger +[limit[1]]\">\n\n\t.tc-sidebar-scrollable {\n\t\tmargin-top: 2em;\n\t}\n\n</$list>\n\\end\n\n\\define set-sidebar-scrollable-top()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[limit[1]]\">\n\n\t.tc-sidebar-scrollable {\n\t\tmargin-top: 2em;\n\t}\n\n</$list>\n<$reveal state=\"$:/state/popup/menubar/hamburger\" type=\"match\" text=\"yes\">\n\n\t<$set name=\"itemCount\" value={{{ [all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[count[]] }}}>\n\n\t\t.tc-sidebar-scrollable {\n\t\t\tmargin-top: calc(<<itemCount>> * 2em);\n\t\t}\n\n\t</$set>\n\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nnav.tc-menubar {\n\tposition: fixed;\n\tz-index: 850;\n\tdisplay: inline-block;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n}\n\nnav.tc-menubar ul.tc-menubar-list {\n\tposition: relative;\n\tlist-style-type: none;\n\tmargin: 0;\n\tpadding: 0 0 0 42px;\n\tbackground: <<colour background>>;\n\tbackground: <<colour menubar-background>>;\n\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\thtml nav.tc-menubar ul.tc-menubar-list {\n\t\tpadding: 0 0 0 8px;\n\t}\n\n}\n\nnav.tc-menubar li.tc-menubar-item {\n\tdisplay: inline-block;\n\tmargin: 0;\n\tpadding: 0;\n}\n\nnav.tc-menubar .tc-menubar-narrow li.tc-menubar-item {\n\tdisplay: block;\n}\n\nnav.tc-menubar li.tc-menubar-item > a,\nnav.tc-menubar li.tc-menubar-item > button {\n\tdisplay: inline-block;\n/*\ttext-transform: uppercase; */\n\tline-height: 1;\n\tfont-weight: 700;\n\tcolor: <<colour foreground>>;\n\tcolor: <<colour menubar-foreground>>;\n\tfill: <<colour foreground>>;\n\tfill: <<colour menubar-foreground>>;\n\ttext-decoration: none;\n\tpadding: 0.5em;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item svg {\n\ttransition: none;\n\twidth: 1em;\n\theight: 1em;\n\tfill: <<colour foreground>>;\n\tfill: <<colour menubar-foreground>>;\n}\n\nnav.tc-menubar li.tc-menubar-item .tc-menubar-dropdown-arrow svg {\n\twidth: 0.5em;\n\theight: 0.5em;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected svg,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected svg {\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:hover,\nnav.tc-menubar li.tc-menubar-item > button:hover svg,\nnav.tc-menubar li.tc-menubar-item > button:hover {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:active,\nnav.tc-menubar li.tc-menubar-item > button:active svg,\nnav.tc-menubar li.tc-menubar-item > button:active {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down,\nnav.tc-menubar .tc-block-dropdown {\n\tmax-width: 70vw;\n\tmax-height: 70vh;\n\toverflow: auto;\n}\n\nnav.tc-menubar .tc-drop-down a {\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down .tc-table-of-contents button {\n\tdisplay: inline-block;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-drop-down ol {\n\tmargin: 0;\n}\n\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar a,\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar button {\n\tdisplay: inline;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (max-width: {{$:/config/plugins/menubar/breakpoint}}) {\n\n\t.tc-menubar-wide {\n\t\tdisplay: none;\n\t}\n\n}\n\n@media (min-width: <<breakpoint-plus-one>>) {\n\n\tnav.tc-menubar li.tc-menubar-item.tc-menubar-narrow,\n\t.tc-menubar-narrow {\n\t\tdisplay: none;\n\t}\n\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t<<set-sidebar-scrollable-top-if-hamburger>>\n\n}\n\n@media (max-width: {{$:/config/plugins/menubar/breakpoint}}) {\n\n\t<<set-sidebar-scrollable-top>>\n\n}\n@media print {\n\n\tnav.tc-menubar {\n\t\tdisplay: none;\n\t}\n\n}\n"
},
"$:/tags/MenuBar": {
"title": "$:/tags/MenuBar",
"list": "$:/plugins/tiddlywiki/menubar/items/hamburger $:/plugins/tiddlywiki/menubar/items/topleftbar $:/plugins/tiddlywiki/menubar/items/contents $:/plugins/tiddlywiki/menubar/items/search $:/plugins/tiddlywiki/menubar/items/pagecontrols $:/plugins/tiddlywiki/menubar/items/server $:/plugins/tiddlywiki/menubar/items/toprightbar"
}
}
}
config
configuration
yes
readme
yes
yes
$:/themes/tiddlywiki/vanilla/themetweaks
$:/core/ui/ControlPanel/Basics
$:/core/ui/TiddlerInfo/Tools
$:/core/ui/ControlPanel/TiddlerFields
$:/core/ui/ControlPanel/Saving
$:/core/ui/ControlPanel/Saving/GitHub
$:/core/ui/MoreSideBar/All
$:/core/ui/SideBar/More
open
close
close
open
open
open
close
close
close
close
close
open
close
open
close
no
{
"tiddlers": {
"$:/themes/tiddlywiki/snowwhite/base": {
"title": "$:/themes/tiddlywiki/snowwhite/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ntextarea.tc-edit-texteditor {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\ncanvas.tc-edit-bitmapeditor {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/vanilla/themetweaks": {
"title": "$:/themes/tiddlywiki/vanilla/themetweaks",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
"text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
},
"$:/themes/tiddlywiki/vanilla/base": {
"title": "$:/themes/tiddlywiki/vanilla/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define sidebarbreakpoint()\n<$text text={{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}/>\n\\end\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\define set-type-selector-min-width()\n<$set name=\"typeLength\" value={{{ [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]get[name]length[]maxall[]] }}}>\n\n\t.tc-type-selector-dropdown-wrapper {\n\t\tmin-width: calc(<<typeLength>>ch + 4em);\n\t}\n\n\t.tc-type-selector-dropdown-wrapper input.tc-edit-typeeditor {\n\t\tmin-width: <<typeLength>>ch;\n\t}\n\n</$set>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\ninput[type=\"search\"] {\n outline-offset: initial;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tfill: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml, body {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n background-color: transparent;\n}\n\n\"\"\">>\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n\tfont-size: 2em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote > div {\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n border-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n left: -50px;\n top: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n right: -80px;\n bottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\nbutton, textarea, input, select {\n\toutline-color: <<colour primary>>;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n vertical-align: middle;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n\t-webkit-appearance:none;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n::selection {\n\tbackground-color: Highlight;\n\tcolor: HighlightText;\n\tbackground-color: <<colour selection-background>>;\n\tcolor: <<colour selection-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\t/* next 2 elements needed, since normalize 8.0.1 */\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n.tc-drop-down a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: <<colour foreground>>;\n\tfill: <<colour foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-primary-btn {\n \tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\n.tc-sidebar-lists button small {\n\tcolor: <<colour foreground>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\n.tc-block-tags-dropdown > .tc-btn-invisible:hover {\n\tbackground-color: <<colour primary>>;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tmargin-right: 3px; \n\tmargin-bottom: 1px;\n\tvertical-align: bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n.tc-tag-button-selected,\n.tc-list-item-selected a.tc-tiddlylink, a.tc-list-item-selected {\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour tiddler-background>>;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-topbar-right {\n\t\tright: 10px;\n\t}\n\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-show-sidebar-btn svg.tc-image-chevron-left, .tc-hide-sidebar-btn svg.tc-image-chevron-right {\n\t\ttransform: rotate(-90deg);\n\t}\n\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n font-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-sidebar-lists .tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\ttransition: min-height {{$:/config/AnimationDuration}}ms ease-in-out, padding-top {{$:/config/AnimationDuration}}ms ease-in-out, padding-bottom {{$:/config/AnimationDuration}}ms ease-in-out;\n\t}\n\t\n\t<<if-no-sidebar \"\"\"\n\n\t\t.tc-sidebar-header {\n\t\t\tmin-height: 0;\n\t\t\tpadding-top: 0;\n\t\t\tpadding-bottom: 0;\n\t\t}\n\n\t\"\"\">>\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n\t.tc-story-river.tc-static-story-river {\n\t\tmargin-right: 0;\n\t\tpadding-right: 42px;\n\t}\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-tiddler-info {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t\tmargin-bottom: .5em;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.35em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n\tmargin-right: .1em;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-subtitle .tc-tiddlylink {\n\tmargin-right: .3em;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n height: 1.2em;\n width: 1.2em;\n margin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-editor-background>>;\n}\n\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-background>>;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-type-selector .tc-edit-typeeditor {\n\twidth: auto;\n}\n\n.tc-type-selector-dropdown-wrapper {\n\tdisplay: inline-block;\n}\n\n<<set-type-selector-min-width>>\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n.tc-edit-fields.tc-edit-fields-small {\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n}\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name-wrapper input.tc-edit-texteditor {\n\twidth: auto;\n}\n\n.tc-edit-field-add-name-wrapper {\n\tdisplay: inline-block;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-edit-field-add-value {\n\t\twidth: 35%;\n\t}\n\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-viewswitcher .tc-image-button {\n\tmargin-right: .3em;\n}\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-drop-down .tc-drop-down-info {\n\tpadding-left: 14px;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n width: auto;\n margin-bottom: 0px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n\n/*\n** Centered modals\n*/\n.tc-modal-centered .tc-modal {\n\twidth: auto;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%) !important;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n\toverflow: auto;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n display: block;\n width: 100%;\n text-align: left;\t\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n flex: 1 0;\n background: <<colour tiddler-editor-background>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n white-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n background: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n padding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n flex: 3 1;\n border-left: 0.5em solid <<colour muted-foreground>>;\n border-right: 0.5em solid <<colour muted-foreground>>;\n border-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Import table\n*/\n\n.tc-import-table {\n\twidth: 100%;\n}\n\n.tc-import-table svg.tc-image-edit-button {\n\tmax-width: unset;\n}\n\n.tc-import-table th:first-of-type {\n\twidth: 10%;\n}\n\n.tc-import-table th:last-of-type {\n\twidth: 30%;\n}\n\n.tc-import-table .tc-row-disabled {\n\tbackground: <<colour very-muted-foreground>>10;\n\topacity: 0.8;\n}\n\n.tc-import-table .tc-row-warning {\n\tbackground: <<colour diff-delete-background>>50;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 28px;\n\tleft: 0;\n\tright: 0;\n\tmax-width: 50%;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 14px;\n\tpadding: 7px;\n\tborder: 1px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 7px;\n\tright: 7px;\n line-height: 0;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n font-size: 0.8em;\n margin-bottom: 0.5em;\n}\n\n.tc-alert-body > p {\n\tmargin: 0;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom-none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: flex;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tfill: <<colour muted-foreground>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n align-items: center;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info {\n margin: 0.5em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugin-indicator {\n\tmargin: -16px 1em 0 2em;\n}\n\n.tc-plugin-info-sub-plugin-indicator button {\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n\tborder-radius: 8px;\n padding: 2px 7px;\n font-size: 0.75em;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\tfill: <<colour background>>;\n}\n\n.tc-plugin-info-chunk {\n margin: 2px;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description {\n\tflex-grow: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n text-align: right;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\n\tfont-size: 1em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description div {\n\tfont-size: 0.7em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\n\twidth: 2em;\n\theight: 2em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 0 1em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugins {\n\tpadding: 0.5em;\n margin: 0 1em 1em 1em;\n\tbackground: <<colour notification-background>>;\n}\n\n.tc-install-plugin {\n\tfont-weight: bold;\n\tbackground: green;\n\tcolor: white;\n\tfill: white;\n\tborder-radius: 4px;\n\tpadding: 3px;\n}\n\n.tc-install-plugin.tc-reinstall-downgrade {\n\tbackground: red;\n}\n\n.tc-install-plugin.tc-reinstall {\n\tbackground: blue;\n}\n\n.tc-install-plugin.tc-reinstall-upgrade {\n\tbackground: orange;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n vertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding: 2px 4px 2px 14px;\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\tmargin-left: -10px;\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\twidth: 2em;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n::-webkit-file-upload-button {\n\tcursor:pointer;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n \tpadding-left: 14px;\n}\n\n.tc-tree ol {\n \tlist-style-type: none;\n \tpadding-left: 0;\n \tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n \tpadding-left: 1em; \n}\n\n.tc-tree button { \n \tcolor: #acacac;\n}\n\n.tc-tree svg {\n \tfill: #acacac;\n}\n\n.tc-tree span svg {\n \twidth: 1em;\n \theight: 1em;\n \tvertical-align: baseline;\n}\n\n.tc-tree li span {\n \tcolor: lightgray;\n}\n\nselect {\n color: <<colour select-tag-foreground>>;\n background: <<colour select-tag-background>>;\n}\n\n/*\n** Utility classes for SVG icons\n*/\n\n.tc-fill-background {\n\tfill: <<colour background>>;\n}\n\n/*\n** Flexbox utility classes\n*/\n\n.tc-flex {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-flex-column {\n\tflex-direction: column;\n}\n\n.tc-flex-row {\n\tflex-direction: row;\n}\n\n.tc-flex-grow-1 {\n\tflex-grow: 1;\n}\n\n.tc-flex-grow-2 {\n\tflex-grow: 2;\n}\n\n/*\n** Other utility classes\n*/\n\n.tc-small-gap {\n\tmargin-left: .5em;\n\tmargin-right: .5em;\n}\n\n.tc-small-gap-left {\n\tmargin-left: .5em;\n}\n\n.tc-small-gap-right {\n\tmargin-right: .5em;\n}\n\n.tc-big-gap {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-big-gap-left {\n\tmargin-left: 1em;\n}\n\n.tc-big-gap-right {\n\tmargin-right: 1em;\n}\n\n.tc-word-break {\n\tword-break: break-all;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
"text": "15px"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
"text": "22px"
},
"$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
"text": "14px"
},
"$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
"text": "20px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storytop": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyright": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
"text": "686px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
"text": "960px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
"text": "350px"
},
"$:/themes/tiddlywiki/vanilla/options/stickytitles": {
"title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
"text": "no"
},
"$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
"title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
"text": "fixed-fluid"
},
"$:/themes/tiddlywiki/vanilla/options/codewrapping": {
"title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
"text": "pre-wrap"
},
"$:/themes/tiddlywiki/vanilla/reset": {
"title": "$:/themes/tiddlywiki/vanilla/reset",
"type": "text/plain",
"text": "/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n:root {\n -moz-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n system-ui,\n -apple-system, /* Firefox supports this but not yet `system-ui` */\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Consolas,\n 'Liberation Mono',\n Menlo,\n monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
"text": "system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\""
},
"$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
"text": "\"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
"text": "fixed"
},
"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
"title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
"text": "auto"
},
"$:/themes/tiddlywiki/vanilla/sticky": {
"title": "$:/themes/tiddlywiki/vanilla/sticky",
"text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n"
}
}
}
fluid-fixed
{
"itemtext": ""
}
>东方财富
*没有什么是成功的,也没有什么是是失败的,只有你自己的体验,因为外物都是空的,只有你在当下才是最美。 *没有什么对,没有什么错,过于追求完美就是错,敢于犯错才是美,当你敢于接纳错误时才是如水般的自在流动。 *在人际关系中,你对的越多就,你就错的越多,好像与舍与得的关系一致^_^
*json的全称为javascript object notation,javascript的对象描述符。
*由 `:`连接`name`和`value`并由一个`,`符号分开组成一个元素。由一对`{}`来包裹一个对象,`[]`表示数组,value可以是字符串、数值、对象、数组、false、true、null。
*例子:name1:vaule1,name2:value2,nam3:{lenth:100,width:200}
*如此简洁的语法结构,实际是也是递归的延伸,可以构造类似windows注册表那样大型的数据结构。
*name:value,name2:{name22:value22,name33,value33}
*和xml类似,都是以纯为文本的形式表示数据,比xml更加的轻量化。
做投资最怕的是“心中没底”,心中没底的人,眼看着股价越涨越高,便忍不住要去追,眼看着股价跌了又跌,有忍不住亏损出局。了解企业内在价值,用“估值的标尺”去衡量,才会解决心中没底的问题。 估值高低是相对的,通常有几种方法来衡量: > 最简单就是历史比较法,将目前的动态市盈率和历史估值水平相比,看看处于什么位置,我目前主要用“芝士财富”这个软件查看。 > 按PEG法,估计未来三年的净利润复合增速预期值,并与当前动态市盈率值相比,通常小于1 认为低估了,例如你估计一家企业未来3年净利润复合增速可达到40%,那么动态市盈率小于40倍,可能估值就比较合理了。 >按简易的现金流折现模型,假定初始净利润为1亿, 估算企业未来10年可累计创造的净利润数, 这个数如果大于当前动态市盈率可以视作低估,比如一家企业你估计未来10年能累计创造30亿净利润,那么30亿市值可以看作其内在价值,小于为低估,远大于为高估,这种方法的难点就是你要能比较准确地估算一家企业未来10年所创造的净利润(现金流)。
*TiddlyWiki的默认保存方式是下载全新修改版本的单文件到本地。任何修改在保存时下载一个新版本的html单文件保存到本地,即使仅改变了一个字符,或者一个设置项。这样会显得有点繁琐,所有就有下面几种保存方式。 *使用TiddlwyWiki的另外一个单文件版本NoteSelf。该本版集成了运行浏览器内部的的数据库[[PouchDB|https://pouchdb.com/]],PouchDB is an open-source JavaScript database inspired by Apache CouchDB that is designed to run well within the browser.PouchDB was created to help web developers build applications that work as well offline as they do online。NoteSelf可以实现自动保存。 *使用[[TiddlyWiki&Node.js]]组合。 *使用[[TiddlyWiki&GitHub]]组合。把单文件[[TiddlyWki|https://tiddlywiki.com]]托管在Github上,通过在TiddlyWiki的save选项设置后可以实现在线编辑、自动保存。但是因为访问GitHub的网速问题,编辑完成一个TIddler之后,再打开一次看看是否顺利保存,平时记得定期全部导出你的笔记`使用Export All Tiddlers`。
>零碎的知识需要系统、有机地管理、存储才有记录的价值。wiki以其得天独厚的索引、检索、组织、共享功能而特别适合学习的记录、资料的整理。特别是TiddlyWiki,无需特别安装环境,无需数据库,方便携带,特别适合个人知识的组织和管理,轻松、随意、有序。
> 和而泰 > 瑞芯微 > 中颖电子 > 全志科技
<!DOCTYPE en-note SYSTEM 'http://xml.evernote.com/pub/enml2.dtd'><en-note><div style="font-size: 14px; margin: 0; padding: 0; width: 100%;"><h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">理解BCD的数据结构和BcdEdit的使用方法</h2>
<hr style="line-height: 160%; box-sizing: content-box; border-top: 1px solid #eee; margin: 16px 0;"/>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">在Windows桌面环境下,使用管理员权限打开命令行窗口,使用不带任何参数的bcdedit 命令,列出BCD中的所有数据列表。包括一个windows boot Manager(windows启动管理器)、一个或者多个windows boot loader (windows启动加载器)。</h2>
<pre style="line-height: 160%; box-sizing: content-box; border: 0; border-radius: 0; margin: 2px 0 8px; background-color: #f5f7f8;"><code style="display: block; overflow-x: auto; background: #1e1e1e; line-height: 160%; box-sizing: content-box; border: 0; border-radius: 0; letter-spacing: -.3px; padding: 18px; color: #f4f4f4; white-space: pre-wrap;">C:\Users\ls>bcdedit
Windows 启动管理器
--------------------
标识符 {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale zh-CN
inherit {globalsettings}
flightsigning Yes
default {default}
resumeobject {9757e0fe-854e-11eb-b9b1-deb36fd4ff6b}
displayorder {default}
{current}
toolsdisplayorder {memdiag}
timeout 30
Windows 启动加载器
-------------------
标识符 {default}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 10
locale zh-CN
inherit {bootloadersettings}
recoverysequence {9757e100-854e-11eb-b9b1-deb36fd4ff6b}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
flightsigning Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {9757e0fe-854e-11eb-b9b1-deb36fd4ff6b}
nx OptIn
bootmenupolicy Standard
hypervisorlaunchtype Auto
Windows 启动加载器
-------------------
标识符 {current}
device partition=C:
path \WINDOWS\system32\winload.efi
description Test Add A BootMemuItem From Copy
locale zh-CN
inherit {bootloadersettings}
recoverysequence {9757e100-854e-11eb-b9b1-deb36fd4ff6b}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
flightsigning Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {9757e0fe-854e-11eb-b9b1-deb36fd4ff6b}
nx OptIn
bootmenupolicy Standard
hypervisorlaunchtype Auto
C:\Users\ls>
~
> bcdedit /copy {current} /d "Test Add A BootMemuItem From Copy "
</code></pre>
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333;">bcdedit /? 列出bcdedit的所有的命令级参数帮助列表</h2>
<pre style="line-height: 160%; box-sizing: content-box; border: 0; border-radius: 0; margin: 2px 0 8px; background-color: #f5f7f8;"><code style="display: block; overflow-x: auto; background: #1e1e1e; line-height: 160%; box-sizing: content-box; border: 0; border-radius: 0; letter-spacing: -.3px; padding: 18px; color: #f4f4f4; white-space: pre-wrap;">C:\Users\ls>bcdedit /?
BCDEDIT - 启动配置数据存储编辑器
Bcdedit.exe 命令行工具用于修改启动配置数据存储。
启动配置数据存储包含启动配置参数并
控制操作系统的启动方式。这些参数以前
位于 Boot.ini 文件中(在基于 BIOS 的操作系统中)或位于非易失性 RAM 项中
(在基于可扩展固件接口的操作系统中)。可以
使用 Bcdedit.exe 在启动配置数据存储中
添加、删除、编辑和附加项。
有关命令和选项的详细信息,请键入 bcdedit.exe /? <command>。例
如,若要显示有关 /createstore 命令的详细信息,请键入:
bcdedit.exe /? /createstore
有关本帮助文件中按字母顺序排列的主题列表,请运行 "bcdedit /? TOPICS"。
对存储执行的命令
================================
/store 用于指定当前系统默认值以外的 BCD 存储。
/createstore 新建空的启动配置数据存储。
/export 将系统存储的内容导出到文件。以后
可以使用该文件还原系统存储的状态。
/import 使用 /export 命令创建的备份文件来还原
系统存储的状态。
/sysstore 设置系统存储设备(仅影响 EFI 系统,在重新启动后不再保留,
且仅用于系统存储
设备不确定的情况下)。
对存储中的项执行的命令
===========================================
/copy 复制存储中的项。
/create 在存储中创建新项。
/delete 删除存储中的项。
/mirror 创建存储中项的镜像。
运行 bcdedit /? ID 可获得有关这些命令使用的标识符的信息。
对项选项执行的命令
======================================
/deletevalue 删除存储中的项选项。
/set 设置存储中的项选项值。
bcdedit /set {bootmgr} timeout 20
这个例子是修改多启动菜单的等待时间为20秒钟。
运行 bcdedit /? TYPES 可获得这些命令使用的数据类型的列表。
运行 bcdedit /? FORMATS 可获得有效数据格式的列表。
控制输出的命令
============================
/enum 列出存储中的项。
/v 命令行选项,完整显示项标识符,
而不是使用已知标识符的名称。
单独使用命令 /v 可完整
显示 ACTIVE 类型的项标识符。
单独运行 "bcdedit" 等同于运行 "bcdedit /enum ACTIVE"。
控制启动管理器的命令
======================================
/bootsequence 为启动管理器设置一次性启动序列。
/default 设置启动管理器将使用的默认项。
/displayorder 设置启动管理器显示
多重启动菜单的顺序。
/timeout 设置启动管理器的超时值。
/toolsdisplayorder 设置启动管理器显示工具
菜单的顺序。
控制启动应用程序紧急管理服务的命令
==========================================================================
/bootems 启用或禁用启动应用程序的
紧急管理服务。
/ems 启用或禁用操作系统项的
紧急管理服务。
/emssettings 设置全局紧急管理服务参数。
控制调试的命令
==============================
/bootdebug 启用或禁用启动应用程序的启动调试。
/dbgsettings 设置全局调试程序参数。
/debug 启用或禁用操作系统项的内核
调试。
/hypervisorsettings 设置虚拟机监控程序的参数。
控制远程事件日志记录的命令
=========================================
/eventsettings 设置全局远程事件日志记录参数。
/event 启用或禁用操作系统项的远程
事件日志记录。
C:\Users\ls>
</code></pre>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">/store 用于指定当前系统默认值以外的 BCD 存储。<br/>
/createstore 新建空的启动配置数据存储。<br/>
/export 将系统存储的内容导出到文件。以后<br/>
可以使用该文件还原系统存储的状态。<br/>
/import 使用 /export 命令创建的备份文件来还原</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这几个参数都是针对BCD存储文件本身进行的操作。比如,/createstore 值得是创建一个新的BCD存贮文件,但不是系统存储文件;/exprort 是备份系统BCD存储文件。</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">/copy 复制存储中的项。<br/>
/create 在存储中创建新项。<br/>
/delete 删除存储中的项。<br/>
/mirror 创建存储中项的镜像。</li>
</ul>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这几个参数是针对BCD存储中的项进行操作。简单建立个模型理解起来更直观,BCD存储文件就是一个二进制的注册表文件,里面的项就相当于一个主键,/copy 、/create 、/delete 、/mirror 就是针对BCD的项进行的操作。比如</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;"><code style="line-height: 160%; box-sizing: content-box; border: 0; border-radius: 0; color: #c1788b; padding: 4px 4px 2px 0; letter-spacing: -.3px;">bcdedit /copy {current} /d "use copy to add a window boot loader instance"</code></p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这里的/d就是 description的意思,就是给增加的启动项指定一个友好的名字。<br/>
/copy 执行完毕后复制一项boot loader ,并且会自动生成一个标识符,使用bcdedit命令可以看到新产生的标识符。</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">介绍了BCD存储、BCD的对象,还有第三个数据就是BCD对象的元素,相当于主键或者子键下面的多个键值项,每个键值项都有对应的赋值数据。</p>
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">/deletevalue</p>
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">/set</p>
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">这两个参数是针对BCD 对象中的元素进行操作,相当于对注册表主键或者子键下面包含的键值项进行删除或者赋值。</p>
</li>
</ul>
<blockquote style="line-height: 160%; box-sizing: content-box; margin: 15px 0; border-left: 4px solid #ddd; padding: 0 15px; color: #777;">
<h2 style="line-height: 160%; box-sizing: content-box; font-weight: 700; font-size: 34px; border-bottom: 1px solid #dbdbdb; color: #333; margin-top: 0;">其实每个windows boot loader 就是一个C语言中的结构体</h2>
<h4 style="line-height: 160%; box-sizing: content-box; font-size: 20px; color: #333;">每个windows boot loader 可称作 bcd object,一个windows boot loader对应的是多启动windows的一个启动菜单项。</h4>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">这样讲的话就很好理解了那些命令操作的是那些数据:</p>
<blockquote style="line-height: 160%; box-sizing: content-box; margin: 15px 0; border-left: 4px solid #ddd; padding: 0 15px; color: #777; margin-bottom: 0;">
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333; margin-top: 0;">/store</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">/createstore</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">export</p>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">import</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333; margin-bottom: 0;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">这四个参数指明bcdedit 操作的是bcd文件本身,指定、创建、导出、导入bcd文件操作,一句话,操作bcd文件。</p>
<blockquote style="line-height: 160%; box-sizing: content-box; margin: 15px 0; border-left: 4px solid #ddd; padding: 0 15px; color: #777;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin-top: 0; margin: 0;">/copy</p>
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">/create</p>
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">delete</p>
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">mirror</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333; margin-top: 0; margin-bottom: 0;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">这四个参数指明bcdedit 操作的是windows boot loader 结构体,复制、新建、删除、镜像。一句话,操作windows boot loader 结构体</p>
<blockquote style="line-height: 160%; box-sizing: content-box; margin: 15px 0; border-left: 4px solid #ddd; padding: 0 15px; color: #777;">
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin-top: 0; margin: 0;">/deletevalue</p>
<p style="line-height: 160%; box-sizing: content-box; color: #333; margin: 0;">/set<br/>
bcdedit /set {9757e102-854e-11eb-b9b1-deb36fd4ff6b} description "test bcdedit /set description friendlyname"</p>
<ul style="line-height: 160%; box-sizing: content-box; display: block; list-style-type: disc; padding-left: 30px; margin: 6px 0 10px; color: #333; margin-top: 0; margin-bottom: 0;">
<li style="line-height: 160%; box-sizing: content-box; position: relative;">{9757e102-854e-11eb-b9b1-deb36fd4ff6b}是结构体的ID,表示一个boot entry</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">description 就是结构内部的数据</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">后面的描述符就是bcd 元素的值</li>
<li style="line-height: 160%; box-sizing: content-box; position: relative;">这两参数指明bcdedit 操作的是结构体内部的数据项,数据项赋值或者删除这个数据项。</li>
</ul>
</blockquote>
</li>
</ul>
</blockquote>
</li>
</ul>
</blockquote>
</blockquote>
<p style="line-height: 160%; box-sizing: content-box; margin: 10px 0; color: #333;">理解了BCD的数据结构,明白了bcdedit各个参数的适用对象,就可以适用bcdedit来编辑windows的BCD store了。当然还有另外两个bcd工具,bcdboot可以通过windows提供的bcd模版文件来修复window的启动环境文件,具体使用方法可以查看windows的在线文档。第三个工具是bcd 的WMI提供者API,可以通过变成程序代码的方法实现编辑BCD的功能,这个功能最灵活也最强大。具体使用方法查看windows在线文档。</p>
</div><center style='display:none !important;visibility:collapse !important;height:0 !important;white-space:nowrap;width:100%;overflow:hidden'>%23%23%20%E7%90%86%E8%A7%A3BCD%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8CBcdEdit%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%0A%0A***%0A%0A%0A%0A%23%23%20%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%B8%A6%E4%BB%BB%E4%BD%95%E5%8F%82%E6%95%B0%E7%9A%84bcdedit%20%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%88%97%E5%87%BABCD%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%95%B0%E6%8D%AE%E5%88%97%E8%A1%A8%E3%80%82%E5%8C%85%E6%8B%AC%E4%B8%80%E4%B8%AAwindows%20boot%20Manager(windows%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8)%E3%80%81%E4%B8%80%E4%B8%AA%E6%88%96%E8%80%85%E5%A4%9A%E4%B8%AAwindows%20boot%20loader%20(windows%E5%90%AF%E5%8A%A8%E5%8A%A0%E8%BD%BD%E5%99%A8)%E3%80%82%0A%0A%0A~~~%0AC%3A%5CUsers%5Cls%3Ebcdedit%0A%0AWindows%20%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%0A--------------------%0A%E6%A0%87%E8%AF%86%E7%AC%A6%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bbootmgr%7D%0Adevice%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20partition%3D%5CDevice%5CHarddiskVolume2%0Apath%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CEFI%5CMICROSOFT%5CBOOT%5CBOOTMGFW.EFI%0Adescription%20%20%20%20%20%20%20%20%20%20%20%20%20Windows%20Boot%20Manager%0Alocale%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zh-CN%0Ainherit%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bglobalsettings%7D%0Aflightsigning%20%20%20%20%20%20%20%20%20%20%20Yes%0Adefault%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bdefault%7D%0Aresumeobject%20%20%20%20%20%20%20%20%20%20%20%20%7B9757e0fe-854e-11eb-b9b1-deb36fd4ff6b%7D%0Adisplayorder%20%20%20%20%20%20%20%20%20%20%20%20%7Bdefault%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bcurrent%7D%0Atoolsdisplayorder%20%20%20%20%20%20%20%7Bmemdiag%7D%0Atimeout%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2030%0A%0AWindows%20%E5%90%AF%E5%8A%A8%E5%8A%A0%E8%BD%BD%E5%99%A8%0A-------------------%0A%E6%A0%87%E8%AF%86%E7%AC%A6%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bdefault%7D%0Adevice%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20partition%3DC%3A%0Apath%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CWINDOWS%5Csystem32%5Cwinload.efi%0Adescription%20%20%20%20%20%20%20%20%20%20%20%20%20Windows%2010%0Alocale%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zh-CN%0Ainherit%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bbootloadersettings%7D%0Arecoverysequence%20%20%20%20%20%20%20%20%7B9757e100-854e-11eb-b9b1-deb36fd4ff6b%7D%0Adisplaymessageoverride%20%20Recovery%0Arecoveryenabled%20%20%20%20%20%20%20%20%20Yes%0Aisolatedcontext%20%20%20%20%20%20%20%20%20Yes%0Aflightsigning%20%20%20%20%20%20%20%20%20%20%20Yes%0Aallowedinmemorysettings%200x15000075%0Aosdevice%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20partition%3DC%3A%0Asystemroot%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CWINDOWS%0Aresumeobject%20%20%20%20%20%20%20%20%20%20%20%20%7B9757e0fe-854e-11eb-b9b1-deb36fd4ff6b%7D%0Anx%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20OptIn%0Abootmenupolicy%20%20%20%20%20%20%20%20%20%20Standard%0Ahypervisorlaunchtype%20%20%20%20Auto%0A%0AWindows%20%E5%90%AF%E5%8A%A8%E5%8A%A0%E8%BD%BD%E5%99%A8%0A-------------------%0A%E6%A0%87%E8%AF%86%E7%AC%A6%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bcurrent%7D%0Adevice%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20partition%3DC%3A%0Apath%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CWINDOWS%5Csystem32%5Cwinload.efi%0Adescription%20%20%20%20%20%20%20%20%20%20%20%20%20Test%20Add%20A%20BootMemuItem%20From%20Copy%0Alocale%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zh-CN%0Ainherit%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Bbootloadersettings%7D%0Arecoverysequence%20%20%20%20%20%20%20%20%7B9757e100-854e-11eb-b9b1-deb36fd4ff6b%7D%0Adisplaymessageoverride%20%20Recovery%0Arecoveryenabled%20%20%20%20%20%20%20%20%20Yes%0Aisolatedcontext%20%20%20%20%20%20%20%20%20Yes%0Aflightsigning%20%20%20%20%20%20%20%20%20%20%20Yes%0Aallowedinmemorysettings%200x15000075%0Aosdevice%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20partition%3DC%3A%0Asystemroot%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CWINDOWS%0Aresumeobject%20%20%20%20%20%20%20%20%20%20%20%20%7B9757e0fe-854e-11eb-b9b1-deb36fd4ff6b%7D%0Anx%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20OptIn%0Abootmenupolicy%20%20%20%20%20%20%20%20%20%20Standard%0Ahypervisorlaunchtype%20%20%20%20Auto%0A%0AC%3A%5CUsers%5Cls%3E%0A~%0A%0A%0A%0A%0A%20%3E%20bcdedit%20%20%20%2Fcopy%20%20%20%7Bcurrent%7D%20%20%2Fd%20%20%20%22Test%20Add%20A%20BootMemuItem%20From%20Copy%20%22%0A%0A~~~%0A%0A%23%23%20bcdedit%20%2F%3F%20%20%E5%88%97%E5%87%BAbcdedit%E7%9A%84%E6%89%80%E6%9C%89%E7%9A%84%E5%91%BD%E4%BB%A4%E7%BA%A7%E5%8F%82%E6%95%B0%E5%B8%AE%E5%8A%A9%E5%88%97%E8%A1%A8%0A%0A~~~%0AC%3A%5CUsers%5Cls%3Ebcdedit%20%2F%3F%0A%0ABCDEDIT%20-%20%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E7%BC%96%E8%BE%91%E5%99%A8%0A%0ABcdedit.exe%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E7%94%A8%E4%BA%8E%E4%BF%AE%E6%94%B9%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E3%80%82%0A%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E5%8C%85%E5%90%AB%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0%E5%B9%B6%0A%E6%8E%A7%E5%88%B6%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%90%AF%E5%8A%A8%E6%96%B9%E5%BC%8F%E3%80%82%E8%BF%99%E4%BA%9B%E5%8F%82%E6%95%B0%E4%BB%A5%E5%89%8D%0A%E4%BD%8D%E4%BA%8E%20Boot.ini%20%E6%96%87%E4%BB%B6%E4%B8%AD(%E5%9C%A8%E5%9F%BA%E4%BA%8E%20BIOS%20%E7%9A%84%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%B8%AD)%E6%88%96%E4%BD%8D%E4%BA%8E%E9%9D%9E%E6%98%93%E5%A4%B1%E6%80%A7%20RAM%20%E9%A1%B9%E4%B8%AD%0A(%E5%9C%A8%E5%9F%BA%E4%BA%8E%E5%8F%AF%E6%89%A9%E5%B1%95%E5%9B%BA%E4%BB%B6%E6%8E%A5%E5%8F%A3%E7%9A%84%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%B8%AD)%E3%80%82%E5%8F%AF%E4%BB%A5%0A%E4%BD%BF%E7%94%A8%20Bcdedit.exe%20%E5%9C%A8%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E4%B8%AD%0A%E6%B7%BB%E5%8A%A0%E3%80%81%E5%88%A0%E9%99%A4%E3%80%81%E7%BC%96%E8%BE%91%E5%92%8C%E9%99%84%E5%8A%A0%E9%A1%B9%E3%80%82%0A%0A%E6%9C%89%E5%85%B3%E5%91%BD%E4%BB%A4%E5%92%8C%E9%80%89%E9%A1%B9%E7%9A%84%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E9%94%AE%E5%85%A5%20bcdedit.exe%20%2F%3F%20%3Ccommand%3E%E3%80%82%E4%BE%8B%0A%E5%A6%82%EF%BC%8C%E8%8B%A5%E8%A6%81%E6%98%BE%E7%A4%BA%E6%9C%89%E5%85%B3%20%2Fcreatestore%20%E5%91%BD%E4%BB%A4%E7%9A%84%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E9%94%AE%E5%85%A5%3A%0A%0A%20%20%20%20%20bcdedit.exe%20%2F%3F%20%2Fcreatestore%0A%0A%E6%9C%89%E5%85%B3%E6%9C%AC%E5%B8%AE%E5%8A%A9%E6%96%87%E4%BB%B6%E4%B8%AD%E6%8C%89%E5%AD%97%E6%AF%8D%E9%A1%BA%E5%BA%8F%E6%8E%92%E5%88%97%E7%9A%84%E4%B8%BB%E9%A2%98%E5%88%97%E8%A1%A8%EF%BC%8C%E8%AF%B7%E8%BF%90%E8%A1%8C%20%22bcdedit%20%2F%3F%20TOPICS%22%E3%80%82%0A%0A%E5%AF%B9%E5%AD%98%E5%82%A8%E6%89%A7%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%20%20%20%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Fstore%20%20%20%20%20%20%20%20%20%20%E7%94%A8%E4%BA%8E%E6%8C%87%E5%AE%9A%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E9%BB%98%E8%AE%A4%E5%80%BC%E4%BB%A5%E5%A4%96%E7%9A%84%20BCD%20%E5%AD%98%E5%82%A8%E3%80%82%0A%2Fcreatestore%20%20%20%20%E6%96%B0%E5%BB%BA%E7%A9%BA%E7%9A%84%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E3%80%82%0A%2Fexport%20%20%20%20%20%20%20%20%20%E5%B0%86%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E7%9A%84%E5%86%85%E5%AE%B9%E5%AF%BC%E5%87%BA%E5%88%B0%E6%96%87%E4%BB%B6%E3%80%82%E4%BB%A5%E5%90%8E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E8%AF%A5%E6%96%87%E4%BB%B6%E8%BF%98%E5%8E%9F%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E7%9A%84%E7%8A%B6%E6%80%81%E3%80%82%0A%2Fimport%20%20%20%20%20%20%20%20%20%E4%BD%BF%E7%94%A8%20%2Fexport%20%E5%91%BD%E4%BB%A4%E5%88%9B%E5%BB%BA%E7%9A%84%E5%A4%87%E4%BB%BD%E6%96%87%E4%BB%B6%E6%9D%A5%E8%BF%98%E5%8E%9F%0A%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E7%9A%84%E7%8A%B6%E6%80%81%E3%80%82%0A%2Fsysstore%20%20%20%20%20%20%20%E8%AE%BE%E7%BD%AE%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E8%AE%BE%E5%A4%87(%E4%BB%85%E5%BD%B1%E5%93%8D%20EFI%20%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%9C%A8%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E5%90%8E%E4%B8%8D%E5%86%8D%E4%BF%9D%E7%95%99%EF%BC%8C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E4%B8%94%E4%BB%85%E7%94%A8%E4%BA%8E%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E8%AE%BE%E5%A4%87%E4%B8%8D%E7%A1%AE%E5%AE%9A%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B)%E3%80%82%0A%20%0A%E5%AF%B9%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E6%89%A7%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Fcopy%20%20%20%20%20%20%20%20%20%20%20%E5%A4%8D%E5%88%B6%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E3%80%82%0A%2Fcreate%20%20%20%20%20%20%20%20%20%E5%9C%A8%E5%AD%98%E5%82%A8%E4%B8%AD%E5%88%9B%E5%BB%BA%E6%96%B0%E9%A1%B9%E3%80%82%0A%2Fdelete%20%20%20%20%20%20%20%20%20%E5%88%A0%E9%99%A4%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E3%80%82%0A%2Fmirror%20%20%20%20%20%20%20%20%20%E5%88%9B%E5%BB%BA%E5%AD%98%E5%82%A8%E4%B8%AD%E9%A1%B9%E7%9A%84%E9%95%9C%E5%83%8F%E3%80%82%0A%0A%E8%BF%90%E8%A1%8C%20bcdedit%20%2F%3F%20ID%20%E5%8F%AF%E8%8E%B7%E5%BE%97%E6%9C%89%E5%85%B3%E8%BF%99%E4%BA%9B%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%E7%9A%84%E6%A0%87%E8%AF%86%E7%AC%A6%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%0A%0A%E5%AF%B9%E9%A1%B9%E9%80%89%E9%A1%B9%E6%89%A7%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Fdeletevalue%20%20%20%20%E5%88%A0%E9%99%A4%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E9%80%89%E9%A1%B9%E3%80%82%0A%2Fset%20%20%20%20%20%20%20%20%20%20%20%20%E8%AE%BE%E7%BD%AE%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E9%80%89%E9%A1%B9%E5%80%BC%E3%80%82%0A%0A%E8%BF%90%E8%A1%8C%20bcdedit%20%2F%3F%20TYPES%20%E5%8F%AF%E8%8E%B7%E5%BE%97%E8%BF%99%E4%BA%9B%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%88%97%E8%A1%A8%E3%80%82%0A%E8%BF%90%E8%A1%8C%20bcdedit%20%2F%3F%20FORMATS%20%E5%8F%AF%E8%8E%B7%E5%BE%97%E6%9C%89%E6%95%88%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E7%9A%84%E5%88%97%E8%A1%A8%E3%80%82%0A%0A%E6%8E%A7%E5%88%B6%E8%BE%93%E5%87%BA%E7%9A%84%E5%91%BD%E4%BB%A4%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Fenum%20%20%20%20%20%20%20%20%20%20%20%E5%88%97%E5%87%BA%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E3%80%82%0A%2Fv%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E9%80%89%E9%A1%B9%EF%BC%8C%E5%AE%8C%E6%95%B4%E6%98%BE%E7%A4%BA%E9%A1%B9%E6%A0%87%E8%AF%86%E7%AC%A6%EF%BC%8C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BD%BF%E7%94%A8%E5%B7%B2%E7%9F%A5%E6%A0%87%E8%AF%86%E7%AC%A6%E7%9A%84%E5%90%8D%E7%A7%B0%E3%80%82%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E5%8D%95%E7%8B%AC%E4%BD%BF%E7%94%A8%E5%91%BD%E4%BB%A4%20%2Fv%20%E5%8F%AF%E5%AE%8C%E6%95%B4%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E6%98%BE%E7%A4%BA%20ACTIVE%20%E7%B1%BB%E5%9E%8B%E7%9A%84%E9%A1%B9%E6%A0%87%E8%AF%86%E7%AC%A6%E3%80%82%0A%0A%E5%8D%95%E7%8B%AC%E8%BF%90%E8%A1%8C%20%22bcdedit%22%20%E7%AD%89%E5%90%8C%E4%BA%8E%E8%BF%90%E8%A1%8C%20%22bcdedit%20%2Fenum%20ACTIVE%22%E3%80%82%0A%0A%E6%8E%A7%E5%88%B6%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E7%9A%84%E5%91%BD%E4%BB%A4%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Fbootsequence%20%20%20%E4%B8%BA%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E8%AE%BE%E7%BD%AE%E4%B8%80%E6%AC%A1%E6%80%A7%E5%90%AF%E5%8A%A8%E5%BA%8F%E5%88%97%E3%80%82%0A%2Fdefault%20%20%20%20%20%20%20%20%E8%AE%BE%E7%BD%AE%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E9%BB%98%E8%AE%A4%E9%A1%B9%E3%80%82%0A%2Fdisplayorder%20%20%20%E8%AE%BE%E7%BD%AE%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E6%98%BE%E7%A4%BA%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E5%A4%9A%E9%87%8D%E5%90%AF%E5%8A%A8%E8%8F%9C%E5%8D%95%E7%9A%84%E9%A1%BA%E5%BA%8F%E3%80%82%0A%2Ftimeout%20%20%20%20%20%20%20%20%E8%AE%BE%E7%BD%AE%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E7%9A%84%E8%B6%85%E6%97%B6%E5%80%BC%E3%80%82%0A%2Ftoolsdisplayorder%20%20%E8%AE%BE%E7%BD%AE%E5%90%AF%E5%8A%A8%E7%AE%A1%E7%90%86%E5%99%A8%E6%98%BE%E7%A4%BA%E5%B7%A5%E5%85%B7%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E8%8F%9C%E5%8D%95%E7%9A%84%E9%A1%BA%E5%BA%8F%E3%80%82%0A%0A%E6%8E%A7%E5%88%B6%E5%90%AF%E5%8A%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%B4%A7%E6%80%A5%E7%AE%A1%E7%90%86%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%91%BD%E4%BB%A4%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Fbootems%20%20%20%20%20%20%20%20%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E5%90%AF%E5%8A%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E7%B4%A7%E6%80%A5%E7%AE%A1%E7%90%86%E6%9C%8D%E5%8A%A1%E3%80%82%0A%2Fems%20%20%20%20%20%20%20%20%20%20%20%20%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E9%A1%B9%E7%9A%84%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E7%B4%A7%E6%80%A5%E7%AE%A1%E7%90%86%E6%9C%8D%E5%8A%A1%E3%80%82%0A%2Femssettings%20%20%20%20%E8%AE%BE%E7%BD%AE%E5%85%A8%E5%B1%80%E7%B4%A7%E6%80%A5%E7%AE%A1%E7%90%86%E6%9C%8D%E5%8A%A1%E5%8F%82%E6%95%B0%E3%80%82%0A%0A%E6%8E%A7%E5%88%B6%E8%B0%83%E8%AF%95%E7%9A%84%E5%91%BD%E4%BB%A4%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Fbootdebug%20%20%20%20%20%20%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E5%90%AF%E5%8A%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%90%AF%E5%8A%A8%E8%B0%83%E8%AF%95%E3%80%82%0A%2Fdbgsettings%20%20%20%20%E8%AE%BE%E7%BD%AE%E5%85%A8%E5%B1%80%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F%E5%8F%82%E6%95%B0%E3%80%82%0A%2Fdebug%20%20%20%20%20%20%20%20%20%20%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E9%A1%B9%E7%9A%84%E5%86%85%E6%A0%B8%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E8%B0%83%E8%AF%95%E3%80%82%0A%2Fhypervisorsettings%20%20%E8%AE%BE%E7%BD%AE%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%9B%91%E6%8E%A7%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%8F%82%E6%95%B0%E3%80%82%0A%0A%E6%8E%A7%E5%88%B6%E8%BF%9C%E7%A8%8B%E4%BA%8B%E4%BB%B6%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%E7%9A%84%E5%91%BD%E4%BB%A4%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%2Feventsettings%20%20%E8%AE%BE%E7%BD%AE%E5%85%A8%E5%B1%80%E8%BF%9C%E7%A8%8B%E4%BA%8B%E4%BB%B6%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%E5%8F%82%E6%95%B0%E3%80%82%0A%2Fevent%20%20%20%20%20%20%20%20%20%20%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E9%A1%B9%E7%9A%84%E8%BF%9C%E7%A8%8B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E4%BA%8B%E4%BB%B6%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95%E3%80%82%0A%0A%0AC%3A%5CUsers%5Cls%3E%0A~~~%0A%0A*%20%2Fstore%20%20%20%20%20%20%20%20%20%20%E7%94%A8%E4%BA%8E%E6%8C%87%E5%AE%9A%E5%BD%93%E5%89%8D%E7%B3%BB%E7%BB%9F%E9%BB%98%E8%AE%A4%E5%80%BC%E4%BB%A5%E5%A4%96%E7%9A%84%20BCD%20%E5%AD%98%E5%82%A8%E3%80%82%0A%20%20%2Fcreatestore%20%20%20%20%E6%96%B0%E5%BB%BA%E7%A9%BA%E7%9A%84%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E3%80%82%0A%20%20%2Fexport%20%20%20%20%20%20%20%20%20%E5%B0%86%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E7%9A%84%E5%86%85%E5%AE%B9%E5%AF%BC%E5%87%BA%E5%88%B0%E6%96%87%E4%BB%B6%E3%80%82%E4%BB%A5%E5%90%8E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E8%AF%A5%E6%96%87%E4%BB%B6%E8%BF%98%E5%8E%9F%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E7%9A%84%E7%8A%B6%E6%80%81%E3%80%82%0A%20%20%2Fimport%20%20%20%20%20%20%20%20%20%E4%BD%BF%E7%94%A8%20%2Fexport%20%E5%91%BD%E4%BB%A4%E5%88%9B%E5%BB%BA%E7%9A%84%E5%A4%87%E4%BB%BD%E6%96%87%E4%BB%B6%E6%9D%A5%E8%BF%98%E5%8E%9F%0A%0A%E8%BF%99%E5%87%A0%E4%B8%AA%E5%8F%82%E6%95%B0%E9%83%BD%E6%98%AF%E9%92%88%E5%AF%B9BCD%E5%AD%98%E5%82%A8%E6%96%87%E4%BB%B6%E6%9C%AC%E8%BA%AB%E8%BF%9B%E8%A1%8C%E7%9A%84%E6%93%8D%E4%BD%9C%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%8C%2Fcreatestore%20%E5%80%BC%E5%BE%97%E6%98%AF%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84BCD%E5%AD%98%E8%B4%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E4%B8%8D%E6%98%AF%E7%B3%BB%E7%BB%9F%E5%AD%98%E5%82%A8%E6%96%87%E4%BB%B6%EF%BC%9B%2Fexprort%20%20%20%E6%98%AF%E5%A4%87%E4%BB%BD%E7%B3%BB%E7%BB%9FBCD%E5%AD%98%E5%82%A8%E6%96%87%E4%BB%B6%E3%80%82%0A%0A*%20%2Fcopy%20%20%20%20%20%20%20%20%20%20%20%E5%A4%8D%E5%88%B6%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E3%80%82%0A%20%20%2Fcreate%20%20%20%20%20%20%20%20%20%E5%9C%A8%E5%AD%98%E5%82%A8%E4%B8%AD%E5%88%9B%E5%BB%BA%E6%96%B0%E9%A1%B9%E3%80%82%0A%20%20%2Fdelete%20%20%20%20%20%20%20%20%20%E5%88%A0%E9%99%A4%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E3%80%82%0A%20%20%2Fmirror%20%20%20%20%20%20%20%20%20%E5%88%9B%E5%BB%BA%E5%AD%98%E5%82%A8%E4%B8%AD%E9%A1%B9%E7%9A%84%E9%95%9C%E5%83%8F%E3%80%82%0A%0A%E8%BF%99%E5%87%A0%E4%B8%AA%E5%8F%82%E6%95%B0%E6%98%AF%E9%92%88%E5%AF%B9BCD%E5%AD%98%E5%82%A8%E4%B8%AD%E7%9A%84%E9%A1%B9%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%E3%80%82%E7%AE%80%E5%8D%95%E5%BB%BA%E7%AB%8B%E4%B8%AA%E6%A8%A1%E5%9E%8B%E7%90%86%E8%A7%A3%E8%B5%B7%E6%9D%A5%E6%9B%B4%E7%9B%B4%E8%A7%82%EF%BC%8CBCD%E5%AD%98%E5%82%A8%E6%96%87%E4%BB%B6%E5%B0%B1%E6%98%AF%E4%B8%80%E4%B8%AA%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%9A%84%E6%B3%A8%E5%86%8C%E8%A1%A8%E6%96%87%E4%BB%B6%EF%BC%8C%E9%87%8C%E9%9D%A2%E7%9A%84%E9%A1%B9%E5%B0%B1%E7%9B%B8%E5%BD%93%E4%BA%8E%E4%B8%80%E4%B8%AA%E4%B8%BB%E9%94%AE%EF%BC%8C%2Fcopy%20%E3%80%81%2Fcreate%20%E3%80%81%2Fdelete%20%E3%80%81%2Fmirror%20%E5%B0%B1%E6%98%AF%E9%92%88%E5%AF%B9BCD%E7%9A%84%E9%A1%B9%E8%BF%9B%E8%A1%8C%E7%9A%84%E6%93%8D%E4%BD%9C%E3%80%82%E6%AF%94%E5%A6%82%20%20%0A%0A%60bcdedit%20%2Fcopy%20%7Bcurrent%7D%20%2Fd%20%20%22use%20%20copy%20to%20add%20a%20window%20boot%20loader%20instance%22%20%60%0A%0A%E8%BF%99%E9%87%8C%E7%9A%84%2Fd%E5%B0%B1%E6%98%AF%20description%E7%9A%84%E6%84%8F%E6%80%9D%EF%BC%8C%E5%B0%B1%E6%98%AF%E7%BB%99%E5%A2%9E%E5%8A%A0%E7%9A%84%E5%90%AF%E5%8A%A8%E9%A1%B9%E6%8C%87%E5%AE%9A%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E5%90%8D%E5%AD%97%E3%80%82%0A%2Fcopy%20%E6%89%A7%E8%A1%8C%E5%AE%8C%E6%AF%95%E5%90%8E%E5%A4%8D%E5%88%B6%E4%B8%80%E9%A1%B9boot%20loader%20%2C%E5%B9%B6%E4%B8%94%E4%BC%9A%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E6%A0%87%E8%AF%86%E7%AC%A6%EF%BC%8C%E4%BD%BF%E7%94%A8bcdedit%E5%91%BD%E4%BB%A4%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E6%96%B0%E4%BA%A7%E7%94%9F%E7%9A%84%E6%A0%87%E8%AF%86%E7%AC%A6%E3%80%82%0A%0A*%20%E4%BB%8B%E7%BB%8D%E4%BA%86BCD%E5%AD%98%E5%82%A8%E3%80%81BCD%E7%9A%84%E5%AF%B9%E8%B1%A1%EF%BC%8C%E8%BF%98%E6%9C%89%E7%AC%AC%E4%B8%89%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%B0%B1%E6%98%AFBCD%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%85%83%E7%B4%A0%EF%BC%8C%E7%9B%B8%E5%BD%93%E4%BA%8E%E4%B8%BB%E9%94%AE%E6%88%96%E8%80%85%E5%AD%90%E9%94%AE%E4%B8%8B%E9%9D%A2%E7%9A%84%E5%A4%9A%E4%B8%AA%E9%94%AE%E5%80%BC%E9%A1%B9%EF%BC%8C%E6%AF%8F%E4%B8%AA%E9%94%AE%E5%80%BC%E9%A1%B9%E9%83%BD%E6%9C%89%E5%AF%B9%E5%BA%94%E7%9A%84%E8%B5%8B%E5%80%BC%E6%95%B0%E6%8D%AE%E3%80%82%20%0A%0A%20%20%2Fdeletevalue%0A%0A%20%20%2Fset%0A%0A%20%20%E8%BF%99%E4%B8%A4%E4%B8%AA%E5%8F%82%E6%95%B0%E6%98%AF%E9%92%88%E5%AF%B9BCD%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%E5%85%83%E7%B4%A0%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%EF%BC%8C%E7%9B%B8%E5%BD%93%E4%BA%8E%E5%AF%B9%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%B8%BB%E9%94%AE%E6%88%96%E8%80%85%E5%AD%90%E9%94%AE%E4%B8%8B%E9%9D%A2%E5%8C%85%E5%90%AB%E7%9A%84%E9%94%AE%E5%80%BC%E9%A1%B9%E8%BF%9B%E8%A1%8C%E5%88%A0%E9%99%A4%E6%88%96%E8%80%85%E8%B5%8B%E5%80%BC%E3%80%82%0A%0A%3E%20%23%23%20%E5%85%B6%E5%AE%9E%E6%AF%8F%E4%B8%AAwindows%20boot%20loader%20%E5%B0%B1%E6%98%AF%E4%B8%80%E4%B8%AAC%E8%AF%AD%E8%A8%80%E4%B8%AD%E7%9A%84%E7%BB%93%E6%9E%84%E4%BD%93%20%0A%3E%0A%3E%20%23%23%23%23%20%E6%AF%8F%E4%B8%AAwindows%20boot%20loader%20%E5%8F%AF%E7%A7%B0%E4%BD%9C%20bcd%20object%2C%E4%B8%80%E4%B8%AAwindows%20boot%20loader%E5%AF%B9%E5%BA%94%E7%9A%84%E6%98%AF%E5%A4%9A%E5%90%AF%E5%8A%A8windows%E7%9A%84%E4%B8%80%E4%B8%AA%E5%90%AF%E5%8A%A8%E8%8F%9C%E5%8D%95%E9%A1%B9%E3%80%82%0A%3E%0A%3E%20%E8%BF%99%E6%A0%B7%E8%AE%B2%E7%9A%84%E8%AF%9D%E5%B0%B1%E5%BE%88%E5%A5%BD%E7%90%86%E8%A7%A3%E4%BA%86%E9%82%A3%E4%BA%9B%E5%91%BD%E4%BB%A4%E6%93%8D%E4%BD%9C%E7%9A%84%E6%98%AF%E9%82%A3%E4%BA%9B%E6%95%B0%E6%8D%AE%EF%BC%9A%0A%3E%0A%3E%20%3E%20%2Fstore%20%0A%3E%20%3E%0A%3E%20%3E%20%2Fcreatestore%0A%3E%20%3E%0A%3E%20%3E%20export%0A%3E%20%3E%0A%3E%20%3E%20import%0A%3E%20%3E%0A%3E%20%3E%20*%20%E8%BF%99%E5%9B%9B%E4%B8%AA%E5%8F%82%E6%95%B0%E6%8C%87%E6%98%8Ebcdedit%20%E6%93%8D%E4%BD%9C%E7%9A%84%E6%98%AFbcd%E6%96%87%E4%BB%B6%E6%9C%AC%E8%BA%AB%EF%BC%8C%E6%8C%87%E5%AE%9A%E3%80%81%E5%88%9B%E5%BB%BA%E3%80%81%E5%AF%BC%E5%87%BA%E3%80%81%E5%AF%BC%E5%85%A5bcd%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%B8%80%E5%8F%A5%E8%AF%9D%EF%BC%8C%E6%93%8D%E4%BD%9Cbcd%E6%96%87%E4%BB%B6%E3%80%82%0A%3E%20%3E%0A%3E%20%3E%20%20%20%3E%20%2Fcopy%20%0A%3E%20%3E%20%20%20%3E%0A%3E%20%3E%20%20%20%3E%20%2Fcreate%20%0A%3E%20%3E%20%20%20%3E%0A%3E%20%3E%20%20%20%3E%20delete%0A%3E%20%3E%20%20%20%3E%0A%3E%20%3E%20%20%20%3E%20mirror%0A%3E%20%3E%20%20%20%3E%0A%3E%20%3E%20%20%20%3E%20*%20%E8%BF%99%E5%9B%9B%E4%B8%AA%E5%8F%82%E6%95%B0%E6%8C%87%E6%98%8Ebcdedit%20%E6%93%8D%E4%BD%9C%E7%9A%84%E6%98%AFwindows%20boot%20loader%20%E7%BB%93%E6%9E%84%E4%BD%93%2C%E5%A4%8D%E5%88%B6%E3%80%81%E6%96%B0%E5%BB%BA%E3%80%81%E5%88%A0%E9%99%A4%E3%80%81%E9%95%9C%E5%83%8F%E3%80%82%E4%B8%80%E5%8F%A5%E8%AF%9D%EF%BC%8C%E6%93%8D%E4%BD%9Cwindows%20boot%20loader%20%E7%BB%93%E6%9E%84%E4%BD%93%0A%3E%20%3E%20%20%20%3E%0A%3E%20%3E%20%20%20%3E%20%20%20%3E%20%2Fdeletevalue%0A%3E%20%3E%20%20%20%3E%20%20%20%3E%0A%3E%20%3E%20%20%20%3E%20%20%20%3E%20%2Fset%20%0A%3E%20%3E%20%20%20%3E%20%20%20%3E%20bcdedit%20%2Fset%20%7B9757e102-854e-11eb-b9b1-deb36fd4ff6b%7D%20description%20%22test%20%20bcdedit%20%2Fset%20description%20%20%20friendlyname%22%0A%3E%20%3E%20%20%20%3E%20%20%20%3E*%20%20%7B9757e102-854e-11eb-b9b1-deb36fd4ff6b%7D%E6%98%AF%E7%BB%93%E6%9E%84%E4%BD%93%E7%9A%84ID%EF%BC%8C%E8%A1%A8%E7%A4%BA%E4%B8%80%E4%B8%AAboot%20entry%20%0A%3E%20%3E%20%20%20%3E%20%20%20%3E*%20%20description%20%E5%B0%B1%E6%98%AF%E7%BB%93%E6%9E%84%E5%86%85%E9%83%A8%E7%9A%84%E6%95%B0%E6%8D%AE%0A%3E%20%3E%20%20%20%3E%20%20%20%3E%20*%20%E5%90%8E%E9%9D%A2%E7%9A%84%E6%8F%8F%E8%BF%B0%E7%AC%A6%E5%B0%B1%E6%98%AFbcd%20%E5%85%83%E7%B4%A0%E7%9A%84%E5%80%BC%0A%3E%20%3E%20%20%20%3E%20%20%20%3E%20*%20%E8%BF%99%E4%B8%A4%E5%8F%82%E6%95%B0%E6%8C%87%E6%98%8Ebcdedit%20%E6%93%8D%E4%BD%9C%E7%9A%84%E6%98%AF%E7%BB%93%E6%9E%84%E4%BD%93%E5%86%85%E9%83%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E9%A1%B9%EF%BC%8C%E6%95%B0%E6%8D%AE%E9%A1%B9%E8%B5%8B%E5%80%BC%E6%88%96%E8%80%85%E5%88%A0%E9%99%A4%E8%BF%99%E4%B8%AA%E6%95%B0%E6%8D%AE%E9%A1%B9%E3%80%82%0A%0A%E7%90%86%E8%A7%A3%E4%BA%86BCD%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%EF%BC%8C%E6%98%8E%E7%99%BD%E4%BA%86bcdedit%E5%90%84%E4%B8%AA%E5%8F%82%E6%95%B0%E7%9A%84%E9%80%82%E7%94%A8%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E9%80%82%E7%94%A8bcdedit%E6%9D%A5%E7%BC%96%E8%BE%91windows%E7%9A%84BCD%20store%E4%BA%86%E3%80%82%E5%BD%93%E7%84%B6%E8%BF%98%E6%9C%89%E5%8F%A6%E5%A4%96%E4%B8%A4%E4%B8%AAbcd%E5%B7%A5%E5%85%B7%EF%BC%8Cbcdboot%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87windows%E6%8F%90%E4%BE%9B%E7%9A%84bcd%E6%A8%A1%E7%89%88%E6%96%87%E4%BB%B6%E6%9D%A5%E4%BF%AE%E5%A4%8Dwindow%E7%9A%84%E5%90%AF%E5%8A%A8%E7%8E%AF%E5%A2%83%E6%96%87%E4%BB%B6%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E5%8F%AF%E4%BB%A5%E6%9F%A5%E7%9C%8Bwindows%E7%9A%84%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%E3%80%82%E7%AC%AC%E4%B8%89%E4%B8%AA%E5%B7%A5%E5%85%B7%E6%98%AFbcd%20%E7%9A%84WMI%E6%8F%90%E4%BE%9B%E8%80%85API%EF%BC%8C%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%8F%98%E6%88%90%E7%A8%8B%E5%BA%8F%E4%BB%A3%E7%A0%81%E7%9A%84%E6%96%B9%E6%B3%95%E5%AE%9E%E7%8E%B0%E7%BC%96%E8%BE%91BCD%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E8%BF%99%E4%B8%AA%E5%8A%9F%E8%83%BD%E6%9C%80%E7%81%B5%E6%B4%BB%E4%B9%9F%E6%9C%80%E5%BC%BA%E5%A4%A7%E3%80%82%E5%85%B7%E4%BD%93%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E6%9F%A5%E7%9C%8Bwindows%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%E3%80%82</center></en-note>
你所有的想法和情绪都是你自己的。当你有各种情绪时,不必压抑,同时你要明白,所有的念头都是自己产生的,心存善念,眼里会有美好,外边什么也没有,只有你和你的世界,爱自己,爱你的世界。
*你知道的越多,你不知道的就越多,因为你知道你自己不知道 *你知道的越少,你不知道的就越少,因为你不知道自己不知道
*点击右侧边栏顶部的+号即可新建一个Tiddler条目。 *一个条目的基本要素有Title、tag 、text **Title:就是这个短文的标题,在你所有的笔记标题中具有唯一性,如果标题重复的话会自动提示。 **tag:是这个条目的归类,相当于给他分类,属于哪一文件夹的意思。可以根据条目的内容添加多个合适的tag名称,需要的时候可以把tag作为关键字来快速搜索这篇短文。 **Test:就是文本编辑区,是这篇笔记的具体内容。如果要书写Markdown格式的笔记,要点击编辑区下方`TYPE`字段右侧的下拉箭头,选择Markdown即可书写。关于MarkDown的书写语法课参照MarkDown的参考。 **这三个要素输入完毕后就可以点击本条目右上角的`对号`按钮保存,完成这个条目。
* 新建一个Tiddler条目 *该条目的的Title一般设置为TableOfContents,当然你可以添加Caption字段来显示自定以的任意你喜欢的标题。 *这个条目的tag设置为$:/tags/SideBar 。`tag的字符区分大小写` *复制下面这段代码到这个新建的条目的编辑区域。只要保持中间这行代码单引号里面的字符串和条目的Title相同就可以,一般用英文字母来表示这个侧边栏页标签下的根目录。 ``` <div class="tc-table-of-contents"> <<toc-selective-expandable 'TableOfContents'>> </div> ```
*如果规划好了,这个条目是做为父条目的,要包含若干个子条目的,最简单的办法在当前条目的右上角点击[新建]的`+`号,根据其提示信息:create a new tiddler tagged this one,意思就是新建一个条目,属于当前条目的tag,也就是了建立当前条目的子条目的意思。 *当然也可以随意建立独立的条目,根据临时的需要,根据title和tag的关联关系,建立条目包含关系。 **关于条目之间的关系可以参考[[TiddlyWiki条目之间的关系]]
#寻找自己喜欢的爱好,如果没有找到,那就继续找,直到找到为止。 #找到你的爱好,有个小目标,将时间都浪费在你的爱好上吧。 # 爱好广泛,只要有一两个让你着迷的爱好吧。 #每天要忙起来,忙的没有功夫去想那些琐碎的小事 #生活有目标,长期在远方,短期就在当下。 #保持运动、保持快乐的心情和美好的期待 #经常喝水
该知识点引用自[[使用 TiddlyWiki 打造轻便个人 Wiki 知识库|http://blog.dimpurr.com/tiddly-wiki/]] >TiddlyWiki 默认的搜索框存在字符数限制,要求搜索关键词大于三个字符。对于英语环境来说这很合理,但是对于中文来说,二字词的搜索是很常见的,因此很不方便。修改这个设置只需要: >添加一个标题为 $:/config/Search/MinLength 的新条目 >内容为 1
*生活里有点难,如果你遇到了,你只能跨过去,因为你的世界里没有外物,只有你自己和这个世界,只有空气、水、太阳、月亮和你生存的世界,还有你的亲人们。 *爱自己、爱你的亲人们、爱自己的世界,给自己加油^-^。 *放空自己的思绪,最快乐的自己就在当下。
*单词只是单纯死记硬背,真的很缺乐趣,又只是硬记释义,孤零零的感觉,没办法学以致用,背完发现还是会忘记、不会用。 *光背单词(适合完全没有词汇量),背了个寂寞,就背了个中文释义。 *把单词放到语句中,单词的形象就活灵活现了。根据词性再模仿语句写作造句,体会单词在语句情景中的形象,对单词、语法、写作个人觉得很有帮助。 *语句本身就是一个领域知识(可能英语语法、编程知识、名言名句等)。摘抄下来的语句又是温习知识的过程。这样,单词只能在阅读中积累。那么就会有大量的英文阅读(又会涉及到一门领域知识和英语领域学习),和大量的生词难词积累。 *生词难词查词用词的过程又是对语法写作的大量积累。量变→质变。喜欢什么领域,就看什么领域的英文文章,阅读,积累,练习。兴趣很重要。比如喜欢看NBA,就看NAB球星的推,篮球新闻等等。 *保持对生活的热爱和兴趣,保持动力,终生爱上学习。
<div class="tc-table-of-contents"> <<toc-selective-expandable '音乐'>> </div>
<<todolist-ui>>
*精选几本不同领域英文书籍,坚持重复的阅读,直到你非常熟悉。 *坚持使用英文版的工具软件或者阅读英文的电子文档
> 使用set 命令修改环境变量,仅仅适用于当前的命令行窗口的会话。例如: > set path=%path%;c:\users\ls\mynewwiki * > 使用setx命令修改环境变量path ,使用持久化修改环境变量path。例如: > setx path "%path%;c:\users\ls\mynewwiki" >
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
<div class="tc-table-of-contents"> <<toc-selective-expandable '长线投资群摘录'>> </div>
在本地上传代码到远程GitHub时,有时候会验证密码,这个密码是在生成SSH密钥的时候输入的,过后忘记的话就只能重新生成密钥了,为安全期间,Git不支持重置密码。
>重新生成SSH密钥的方法:
*在Git Bash命令行窗口键入 cd ~/.ssh ,这个命令会跳转到本机的 .ssh目录。
* 使用 ls 命令列出 .ssh目录下的文件内容,一般会有id_ed25519.pub 等文件,这个id_ed25519.pub就是保存密钥的。
*ssh-keygen -t ed25519 id_ed25519.pub
**在这个命令中,-t ed25519 是采用ed25519的算法 。常见的 SSH 登录密钥使用 RSA 算法。RSA 经典且可靠,但性能不够理想。只要你的服务器上 OpenSSH 版本大于 6.5(2014 年的古早版本),就可以利用 Ed25519 算法生成的密钥对,减少你的登录时间。如果你使用 SSH 访问 Git,那么就更值得一试。Ed25519 的安全性在 RSA 2048 与 RSA 4096 之间,且性能在数十倍以上。
**如果是重新生成新的SSH密钥的话,会提示是否覆盖的信息,输入y ,回车即可。
**接下来要求输入密码。如果不设置密码的话敲回车即可。如下图所示:
**{{ssh-keygen}}
*添加密钥到你的GitHub账号。
**先把id_ed25519.pub的内容复制到剪贴板中
**clip < ~/.ssh/id_ed25519.pub 如果当前目录是.ssh,则 clip < id_ed25519.pub 就可以复制到剪切板,把剪贴板的内容取出来保存为文本文件。
**登陆GitHub,点击右上角头像,依次进入Settings->SSH keys,点击Add SSH key,在Title中输入密钥描述信息,在Key中输入刚才复制的公钥,点击Add key。
闲暇时了解一下庄子的哲学
按照自己的需要,随手新建一个Tiddler,把Tiddler的几个元素:Title、Tag、Text、Field、Caption补充完整。如此重复,直到你觉得Tiddler已经多的无法有序高效管理时,你才会想起来如何合理有序的组织这些Tiddler。(`问题就代表这个一个需求,珍惜自己提出的问题`)经过摸索可以理解TiddlyWiki是通过Title和Tag来组织这些Tiddler的关系的。把多个Tiddler归属与另外一个条目,这就是抽象意义上的包含。如何实现呢?把一组多个Tiddler的Tag统一输入为另外一个Tidder的Title,这样多个Tiddler就从属于这个标题的Tiddler,在关系数据库上称作一对多,多么熟悉的原理。还可以通过Tag来过滤指定的Tiddler,类似于Excel的数据项的纵向过滤,把相同的原理应用在不同的领域,似乎是创新了一个领域,事实它就是个创新。用处理数据的方法来处理笔记。 自动生成目录的具体实现: ``` 把要统一为一组的多个Tiddler的Tag设置为上一层Tiddler的Title。 新建一个Tiddler,标题要为多个子Tiddler的Tag。 Tiddler的Type元素属性值设置为text/vnd.tiddlywiki 保存这个Tiddler就可以在这个Tiddler页面上显示多个子条目。 ``` 可以看自己写的这个Examples:[[contentExample|BCD]]
按照自己的需要,随手新建一个Tiddler,把Tiddler的几个元素:Title、Tag、Text、Field、Caption补充完整。如此重复,直到你觉得Tiddler已经多的无法有序高效管理时,你才会想起来如何合理有序的组织这些Tiddler。(`问题就代表这个一个需求,珍惜自己提出的问题`)经过摸索可以理解TiddlyWiki是通过Title和Tag来组织这些Tiddler的关系的。把多个Tiddler归属与另外一个条目,这就是抽象意义上的包含。如何实现呢?把一组多个Tiddler的Tag统一输入为另外一个Tidder的Title,这样多个Tiddler就从属于这个标题的Tiddler,在关系数据库上称作一对多,多么熟悉的原理。还可以通过Tag来过滤指定的Tiddler,类似于Excel的数据项的纵向过滤,用处理数据的方法来处理笔记,把相同的原理应用在不同的领域,似乎是创新了一个领域,事实它就是个创新,在每个Tiddler上点击tag,可以返回到上一级条目而实现了双向链接的功能,无论打开多少层跳转都可以层层返回,不是消失在一个个打开的网页而不知道来时的路(^-^)。 自动生成目录的具体实现: ``` 在TiddlyWIki中实现树形目录的方法 第一种方式是先建立任意个子Tiddler,把tag设置为父目录Tiddler的Tittle就可以形成树形的结构。 第二种方法是先规划好父目录,设置好父目录Tiddler的Titler,tag;再建立任意个Tiddler,这些Tiddler的tag都设置为父目录Tiddler的Tittle,这样就可以形成树形的目录结构。点击子Tiddler的tag就可以返回父目录Tiddler。 Tiddler的Type元素属性值设置为text/vnd.tiddlywiki 保存这个Tiddler就可以在这个Tiddler页面上显示多个子条目。 ``` 可以看自己写的这个Examples:[[contentExample|BCD]]
\define calc(ops, operation)
<$list filter="[<__input__>splitbefore[$ops$]removesuffix[$ops$]]" variable=a>
<$list filter="[<__input__>removeprefix<a>removeprefix[$ops$]]" variable=b>
<$list filter="[<a>$operation$<b>]" variable=result>
<<result>>
</$list>
</$list>
</$list>
\end
\define calculator(input)
<$set name=pattern value="(\d+([.]\d*)?|[.]\d+)(\s*[+\-*\/]\s*)(\d+([.]\d*)?|[.]\d+)$">
<$list filter="[<__input__>trim[]regexp<pattern>]" variable=ignore emptyMessage="wrong input"><!--check input -->
<$list filter="[<__input__>search[+]]">
<<calc ops:+ operation:add>>
</$list>
<$list filter="[<__input__>search[-]]">
<<calc ops:- operation:subtract>>
</$list>
<$list filter="[<__input__>search[*]]">
<<calc ops:* operation:multiply>>
</$list>
<$list filter="[<__input__>search[/]]">
<<calc ops:"/" operation:divide>>
</$list>
</$list>
</$set>
\end
;A binary operation calculator
:Using Tiddlywiki macro and the new mathematical expression in Tiddlywiki 5.1.20+ it is possible to create a simple binary mathematical operation.
!! The calculator macro
Based on an idea from [[A. Gloom|https://groups.google.com/d/msg/tiddlywiki/8BZuwArdukw/4Dnl-kcFCgAJ]] (see also [[Math Macro a Simple Calculator]])The below code shows the `calculator` macro and its helper macro `calc`. The `calculator` macro can perform four basic mathematical operations--addition, subtraction, multiplication, and division
<<show-macro>>
<<alert danger "''Warning'': The calculator cannot operate on signed number like `-4` or `+4`">>
!! Syntax
```
<<calculator input>>
```
!! Content and attributes
|!Attributes |!Type |!Description |
|input |required|a valid mathematical expression to perform four basic mathematical operations addition, subtraction, multiplication, and division|
!! Remarks
* The first `$list` widget uses a regexp filter to check if the input is a valid mathematical expression.
* The regexp pattern to validate the mathematical expression is `^(\d+([.]\d*)?|[.]\d+)(\s*[+\-*\/]\s*)(\d+([.]\d*)?|[.]\d+)$` which is defined by the `$set` widget. It stes a pattern for mathematical expression like `a+b`, `a-b`, `a*b`, and `a/b`. The operand `a` and `b` can be a valid number (both integer and decimal). Also spaces are allowed before, after and between operands and operator.
* Four next `$list` widget each check the input to see which basic operation will be done
* The helper macro `calc` receives the operation (add, subtract, multiply and divide) and its symbol (e.g. + - * /)
* The helper macro `calc` first separate two operand and then perform the requested operation
* Based on the above explanation these expressions are valid. Note to the spaces and decimal point
** `.123 + 456.32`
** ` 1.23 * 123.`
** ` 12 / 4`
!! Examples
The below examples shows different mathematical operation using the `calculator` macro.
><$macrocall $name="wikitext-example-without-html"
src="""<<calculator 123+365>>
<<calculator 125-400>>
<<calculator 12*5>>
<<calculator 365/9>>
<<calculator -4>>
"""/>
!! An interactive calculator
The below example shows how the calculator macro can be used with a input box to act as an interactive calculator.
<$macrocall $name="wikitext-example-without-html"
src="""<$edit-text tiddler="$:/temp/calculation" tag="input"/><$macrocall $name=calculator input={{$:/temp/calculation}}/><br>
,,Hint: Simple calculator for binary operation like 12+36,,
"""/>
;Remark
:The `$edit-text` widget uses the temporary [[$:/temp/calculation]] tiddler to store the user input
:The input statement from [[$:/temp/calculation]] is then passed to `calculator` macro using the `$macrocall` widget.
\define thisListMacro()
<b><$view field=title/></b>: {{exmp044/dictionary##$(thisIndex)$}}<br>
\end
\define thisEditListMacro()
<b><$view field=title/></b>: {{exmp044/dictionary##$(thisIndex)$}} <$button>Remove<$action-deletefield $tiddler='exmp044/dictionary' $field=$(thisIndex)$ $value=''/></$button><br>
\end
\define thisRegEx()
$(thisSearch)$(?i)
\end
\define thisSearchMacro()
<ol>
<$list filter="[[exmp044/dictionary]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<li><span style="color:darkred;"><<currentTiddler>></span>: <$transclude tiddler="exmp044/dictionary" index=<<currentTiddler>>/></li>
</$list>
</ol>
\end
\define thisEditMacro()
<ol>
<$list filter="[[exmp044/dictionary]indexes[]regexp:title[(?i)$(thisSearch)$]]">
<$set name=thisItem value=<<currentTiddler>>>
<li><<thisDeleteButton>> <<currentTiddler>> - <$transclude tiddler="exmp044/dictionary" index=<<currentTiddler>>/></li>
</$set>
</$list>
</ol>
\end
\define thisDeleteButton()
<$button set='exmp044/dictionary##$(thisItem)$'>{{$:/core/images/delete-button}}</$button>
\end
\define addTerm()
<$action-setfield $tiddler='exmp044/dictionary' $index={{$:/temp/exmp044!!name}} $value={{$:/temp/exmp044!!meaning}}/>
<$action-setfield $tiddler='$:/temp/exmp044' name='' meaning=''/>
\end
This is a full example of using DataTiddler (dictionary or JSON tiddler) for creating a refence book or Word Dictionary. This project was created and authored by {{!!responder}}.
The project includes:
# Macros for add/remove index/value pairs from DataTiddler
# Macros for making search in DataTiddler
# Macros for listing index/value pairs
# A DataTiddler (here a JSON: [[exmp044/dictionary]]) to store pairs of index/value.
# Reveal widget is used to prevent adding term with no meaning (empty edit box)
---
!! Demo
Term: <$edit-text class='tc-edit-texteditor' tiddler='$:/temp/exmp044' field='name'/><br>
Meaning: <$edit-text class='tc-edit-texteditor' tiddler='$:/temp/exmp044' field='meaning'/><br>
<$reveal type='match' state='$:/temp/exmp044!!name' text=''>
<$button>Add Term</$button><!-- This is a fake button, when term edit-text is empty -->
</$reveal>
<$reveal type='nomatch' state='$:/temp/exmp044!!name' text=''>
<$button actions=<<addTerm>> >Add Term </$button>
</$reveal>
<$reveal type='nomatch' state='$:/temp/exmp044/editreveal' text='edit'>
<$button set='$:/temp/exmp044/editreveal' setTo='edit'>Edit Dictionary</$button>
</$reveal>
<$reveal type='match' state='$:/temp/exmp044/editreveal' text='edit'>
<$button set='$:/temp/exmp044/editreveal' setTo='noedit'>Done Editing</$button>
</$reveal>
!! Search
Search: <$edit-text tiddler='$:/temp/exmp044' field='search'/><br>
<$reveal type='nomatch' state='$:/temp/exmp044/editreveal' text='edit'>
Type in the search box to find specific items on the list
</$reveal>
<$reveal type='match' state='$:/temp/exmp044/editreveal' text='edit'>
Click on the trashcan icon to remove an item
</$reveal>
<$set name='thisSearch' value={{$:/temp/exmp044!!search}}>
<$reveal type='nomatch' state='$:/temp/exmp044/editreveal' text='edit'>
<<thisSearchMacro>>
</$reveal>
<$reveal type='match' state='$:/temp/exmp044/editreveal' text='edit'>
<<thisEditMacro>>
</$reveal>
</$set>
;What one can do when editing or displaying a tiddler cause wiki crash? :One way is to use a ditect open for edit. There are situation when a macro or displaying a tiddler causes problems. That are recursive and get into a "runaway" condition which never terminates, and eventually crashes the page. Here's a little "OpenForEdit" tiddler that can help with the above situation. <<code-link OpenForEdit>> Then, to bypass the DefaultTiddlers on startup, just add `#OpenForEdit` to the end of your URL. When the above tiddler is loaded, select the offending tiddler from the list and press the "edit" button to jump directly into edit mode, bypassing any view mode problems that tiddler may have.
; Create a gallery of all core imgaes
: The core images are svg images. To do this use the `list` widget and a small css as below.
! Linkable image
On mouse hover the tooltip will reveal the full path of image and on click the tiddler contans the svg image will be opened.
<<wikitext-example-without-html
src:"""<style>
.my-gallery svg {
width: 2.0em !important;
height: 2.0em !important;
margin: 0.5em;
}
</style>
<div class="my-gallery">
<$list filter="[all[tiddlers+shadows]tag[$:/tags/Image]sort[]] -[[$:/core/images/blank]]">
<$link tooltip="{{!!title}}">
<$transclude/>
</$link>
</$list>
</div>
""">>
!! Remarks
* The my-gallery css class sets the height, width and margin of images
* The `list` widget, list all core images
* The `-[[$:/core/images/blank]]` filter exclude the blank (empty) image from listing
* All images are linkable and on click open the related tiddler.
! Clickable image
The below example shows the same gallery with clickable images. On click the tiddler name containing the image is copied to clipboard.
<$macrocall $name="wikitext-example-without-html"
src="""<div class="my-gallery">
<$list filter="[all[tiddlers+shadows]tag[$:/tags/Image]sort[]] -[[$:/core/images/blank]]">
<$button message="tm-copy-to-clipboard" param=<<currentTiddler>> tooltip=<<currentTiddler>> >
<$transclude/>
</$button>
</$list>
</div>
"""/>
!! Remarks
* The my-gallery css class sets the height and width of images. The margin is not used here.
* The `list` widget, list all core images
* The `-[[$:/core/images/blank]]` filter exclude the blank (empty) image from listing
* The `button` widget uses `tm-copy-to-clipboard` to copy the tiddler title of containing image into clipboard. Also the title is used as tooltip to be shown on mouse hover.
* Each image is wrapped into a button and on click the related tiddler title is copied to clipboard.
\define radio-field(fieldname values-filter) <$list filter="$values-filter$" variable=value> <$radio field="$fieldname$" value=<<value>> > <<value>></$radio> </$list> \end A radio button macro based on [[Using Radio Button]] solution by Eric Shulman ``` \define radio-field(fieldname values-filter) <$list filter="$values-filter$" variable=value> <$radio field="$fieldname$" value=<<value>> > <<value>></$radio> </$list> \end ``` * Example <$macrocall $name="wikitext-example-without-html" src=""" <<radio-field section "A B C">> """/> <$macrocall $name="wikitext-example-without-html" src=""" <<radio-field domain "[each[domain]get[domain]sort[]]">> """/>
\import [[exmp112/macro]] ;Considering the restriction with Tiddlywiki toc macro, what is a simple script to create a toc recursively? !! Solution The below macro creates a recursive macro to populate a table of contents from a parent tag. <<code-link exmp112/macro>> ;Remarks :the `toc-all` macro shows all items in the tree :the `exclude` can be used to exclude a branch. The `exclude` is like `-[tag[xx]]` :the first filter run `[title[$here$]tagging[]]` list all childs (tiddlers tagged with `$here$`) : the second run `$exclude$` is used for excluding branches : the `<$link/>` shows a link to the item listed in the tree : the `$macrocall` then recursively calls the `toc-all` itself, and this continues until all childern listed : the `toc-all` macro uses the "exclude" paramter that is dynamically updated as the recursion occurs. Each level of recursion adds the current tiddler to a list (using syntax `-[[$here$]]`) so that as it dives down into the tree, any tiddler that has already been visited in the current 'branch' is excluded from being visited again. This prevents infinite loops that eat up all the browser memory and eventually cause a fatal error condition !! Example <$macrocall $name="wikitext-example-without-html" src="""<<toc-all "exmp112">>"""/>
How can we create a simple edit toolbar button to insert a time stamp? You can do it by a simple tiddler like this: ``` caption: CurrentTime condition: [<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]] description: Insert Current Time icon: $:/core/images/tip shortcuts: tags: $:/tags/EditorToolbar title: $:/core/ui/EditorToolbar/Time <$action-sendmessage $message="tm-edit-text-operation" $param="replace-selection" text=<<now>> /> ```
; How to use a two way view template?
: Use `$list` widget with emptyMessage parameter and pass the second viewtemplate by emptyMessage parameter.
!! Example
Use a viewtemplate for all tiddlers tagged with `parent` as bellow
* if they also tagged with `second` format them as //Template1//
* else format them as //Template2//
```
<$list filter="[is[current]tag[parent]]">
<$list filter="[<currentTiddler>tag[second]]" emptyMessage={{Template2}}>
{{Template1}}
</$list>
</$list>
```
The second filter will return an empty result set if the current tiddler is not tagged by `second`. Then, in //Template2// you’d have the template that is only displayed for tiddlers tagged `parent` and //Template1// is displayed for those tiddler tagged both with `parent` and `second`.
Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that trigger those actions (for example, the ButtonWidget). The following action widgets are provided: <<list-links "[tag[ActionWidgets]]">> There are two ways to use action widgets: * Using the `actions` attribute of the triggering widget (this is the preferred way) * Embedding the actions within the triggering widget (an older technique that is now deprecated) !! Assigning action widgets with the `actions` attribute The action widgets are passed as a string to the `actions` attribute of the triggering widget. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages: ``` \define my-actions() <$action-sendmessage $message="tm-home"/> <$action-sendmessage $message="tm-full-screen"/> \end <$button actions=<<my-actions>>> Click me! </$button> ``` !! Assigning action widgets by embedding The action widgets need not be immediate children of their triggering widget, but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding: ``` <$button> <$action-sendmessage $message="tm-home"/> <$action-sendmessage $message="tm-full-screen"/> Click me! </$button> ```
A possible solution would be to add a new editor preview pane that contains a plain text editor so that you could switch to it to perform spell checking and correction.
To do so:
* Create a new tiddler called `$:/_EditorPreview`
* Tagged `$:/tags/EditPreview`, add a `caption` field containing `Spell check`, and the following content:
```
<$edit-text tiddler=<<currentTiddler>> class="tc-spell-check-preview"/>
<style>
.tc-spell-check-preview {width:100%;}
</style>
```
Then select “Spell check” as the editor preview.
It is needed to click on the preview editor textarea in order to activate spell checking and make the dotted underlines visible.
Look at: $:/_EditorPreview
;Add a new button to page controls to create a new tiddler with predefined tag and contents
:The below description explain step by step how to add a new button to pagecontrols including appearance in tools sidebar tab
<<docit>>
```
<$button class=<<tv-config-toolbar-class>> tooltip="Add new study tiddler">
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<span class="chunk">{{$:/core/images/new-button}}</span>
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text"><$text text="New Study"/></span>
</$list>
<$action-sendmessage $message="tm-new-tiddler" tags="study" text={{AddStudyTemplate}}/>
</$button>
```
The "Page Controls" buttons that appear at the top of the sidebar (e.g., "new tiddler", "control panel", "save changes", etc.) are not stored in a single tiddler. Rather, each button definition has it's own tiddler, and these tiddlers are all tagged with "$:/tags/PageControls" to indicate that they should appear in that part of the Sidebar.
To define your own button, create a new tiddler (e.g., "MyButton")
1) First, add the $:/tags/PageControls tags to that tiddler.
2) Next, enter your button definition into the text area, like this:
<$button class="tc-btn-invisible"
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{$:/core/images/spiral}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text"><$text text="New Study"/></span>
</$list>
<$action-sendmessage $message="tm-new-tiddler" tags="study" text={{MyButtonTemplate}}/>
</$button>
3) Then, add a new field named "caption". In this field, enter:
{{$:/core/images/spiral}} New Study
4) and add another new field named "description". In this field, enter:
Use this button to create a new Study tiddler with default content
Then, create a separate tiddler named "MyButtonTemplate", containing the default content you want, i.e.,
Source:
! Findings
! Abstract
Once you have defined these tiddlers, it will automatically appear as a Page Control at the top of the Sidebar.
You can re-position this button to put it the desired order alongside the other PageControls
To do this, open the $:/ControlPanel (click the gear icon in the Sidebar).
1) The $:/ControlPanel has multiple levels of "tabs" for getting to the controls you need.
2) Select the "Appearance" tab (across the top). This will show a second level of tabs:
"Palette", "Story View", "Theme", "Toolbars" and "Theme Tweaks".
3) Select the "Toolbars" tab. This will show a third level of tabs, displayed vertically on the left:
"Edit Toolbar", "Editor Toolbar", "Page Toolbar" and "View Toolbar".
4) Select the "Page Toolbar" tab. This will display a set of checkboxes, showing all the buttons that are tagged with "$:/tags/PageControls".
If you've created your tiddler correctly, your new button will appear at the bottom of this list.
To reposition it, just grab it with the mouse and drag it to move it within the list.
;How to add the filter search interface into the sidebar tabs? : Follow the several steps below # Press the magnifying glass next to the standard sidebar search input to open $:/AdvancedSearch # From the $:/AdvancedSearch *shadows* tab, search for "AdvancedSearch/Filter" # Select "$:/core/ui/AdvancedSearch/Filter" from the search results to display that tiddler in the story # Edit that tiddler and add a tag: "$:/tags/SideBar" # You will now have a "Filter" tab in the sidebar. Select that tab to perform filter searches with the results displayed in the sidebar. Extra goodness... there is a down-arrow button next to the filter search input. This button displays a dropdown list of pre-defined filter seaches. To add your own pre-defined filter searches to this dropdown list: # Create a new tiddler (e.g., "MyFilterSearch") tagged with `$:/tags/Filter` # Add a "description" field, e.g., "Apples not Oranges" # Add a "filter" field containing the filter search syntax, e.g., `[search[apples]!search[oranges]]` # Add a "list-before" field. Do not enter a value for this field. This will cause the entry to automatically appear before all other pre-defined filters in the list. You can create as many custom filter searches as you like by following the above steps again, using different titles, descriptions, and filter field values. One display issue to fix: The list of pre-defined filters drops down to the RIGHT of the down-arrow button. In the sidebar, this typically results in part of the list flowing off the right edge of the window, making it hard to use since you can only see part of the filter descriptions. To fix this: # <div> Edit the shadow tiddler $:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown </div> #<div> Change this line: ``` <$reveal state=<<qualify "$:/state/filterDropdown">> type="popup" position="belowleft" animate="yes">` ``` to ``` <$reveal state=<<qualify "$:/state/filterDropdown">> type="nomatch" text="" position="belowleft" animate="yes">` ``` This will shift the drop-down so it appears directly under the filter search input, rather than below the down-arrow button. </div>
!! Part i: add brush loader
# Make sure you have the `highlight.js` plugin installed.
# <div>
Create a new tiddler as below. Name it whatever you like, here it is called //Extra brush loader//.
* title: `Extra brush loader`
* type: `application/javascript`
* field name: `module-type`
* field value: `startup`
* with the following as text field:
<<<
```
exports.after = ['load-modules'];
exports.startup = function startup() {
let hljs = $tw.modules.execute('$:/plugins/tiddlywiki/highlight/highlight.js');
$tw.modules.forEachModuleOfType('highlighter', function(title, module) {
let moduleSource = $tw.wiki.getTiddlerText(title);
console.log('loading brush: ' + title);
$tw.utils.evalSandboxed(moduleSource, {hljs:hljs, exports:{}}, title);
});
};
```
<<<
</div>
!! Part ii: add new brushes (languages)
# Create a new tiddler with any title you like.
# Set its type to `application/javascript`
# Add a new field, name it `module-type` and set it to `highlighter`
# Add the below line as its text field
#* `if(typeof hljs !== 'undefined') {}`.
# Download the new brush (language) you like from [[https://cdnjs.com/libraries/highlight.js]].
# Open the brush you downloaded from step 5 above in a text editor and add its content between above curly brackets.
# Save and reload wiki
# For any other language to be added repeat these seven steps.
!! Demo
For a demo have a a look at: https://hoelz.ro/files/highlighter-example.html
<<alert warning "''Note'': You need to have the `highlight.js` plugin installed in your wiki. If not from control panel, plugins, click get more plugins and install the `highlight.js`.">>
!! Remarks
* See [[Add More Language Brushes to Highlight.js Plugin]]
* Using these procedure, you can add brushes for Fortran, Matlab, Julia, ...
! Add new fields
; How to add a new field to a series of tiddlers?
: List them and use `fieldmangler` to add the new filed.
!! Example
Add the new filed `rank` to all tiddlers tagged with `exmp029`
><$macrocall $name="wikitext-example-without-html"
src="""<$button> Add the new rank field
<$list filter="[tag[exmp029]]">
<$fieldmangler>
<$action-sendmessage $message="tm-add-field" $param="rank"/>
</$fieldmangler>
</$list>
</$button>
"""/>
!! Remarks
# The `list` widget list all tiddlers tagged with `Links`.
# The `action-sendmessage` widget
# The button widget triggers the `tm-add-field` and add the `rank` field to all those tiddlers.
! Remove fields
; How delete a field from a series of tiddlers?
: List them and use `fieldmangler` to delete the filed.
!! Example
Delete the filed `rank` from all tiddlers tagged with `exmp029`
><$macrocall $name="wikitext-example-without-html"
src="""<$button> Delete the rank field
<$list filter="[tag[exmp029]has:field[rank]]">
<$fieldmangler>
<$action-sendmessage $message="tm-remove-field" $param="rank"/>
</$fieldmangler>
</$list>
</$button>
"""/>
!! Remarks
# The `list` widget list all tiddlers tagged with `exmp029` which has a field `rank`
# The `action-sendmessage` widget
# The button widget triggers the `tm-remove-field` and deletes `rank` field from all those tiddlers.
<<alert info "The field mangler widget manipulates the fields and tags of a tiddler.">>
! Add or remove tags to/from a tiddler
; How a macro can add & remove tags from a tiddler with a single button?
The below code can add an new tag to current tiddler and remove an old tag.
```
\define myactions(old, new)
<$fieldmangler>
<$action-sendmessage $message="tm-add-tag" $param="$new$"/>
<$action-sendmessage $message="tm-remove-tag" $param="$old$">
</$fieldmangler>
\end
\define add-remove-tags(old new)
Add <<tag $new$>> Remove <<tag $old$>>
<$button actions=<<myactions $old$ $new$>>>{{$:/core/images/erase}}
</$button>
\end
<<add-remove-tags OldTopics Topics>>
```
* The `myactions` macro accpets `old` and `new` parameters, and uses the `fiedmanager` widget to adds the `new` tag and removes the `old` tag.
* The `add-remove-tags` macro creates a button with a line of text to show which tag will be added and which will be removed. The `tag` macro creates a tag pill. This macro also accepts the `old` and `new` attributes as old and new tags. It can be called from any tiddler you wish (if so, the code should be placed inside a tiddler tagged with `$:/tags/Macro`).
See [[Example 24|demo/exmp024: add remove tags]] to illustrate how this works.
The standard mechanisms in ~TiddlyWiki for creating Table-of-Contents are macros known collectively as "toc" [[macros|Macros]] (click on link to learn more about macros). They use `Tagging` as their means of creating relationships, so be sure to review the [[Tagging]] topic tiddler if tagging is a new concept for you. A customisable [[table of contents|Table-of-Contents Macros]] can be added to the sidebar with the following steps: # Create a tiddler called [[TableOfContents]] # Give it the tag ''~$:/tags/SideBar'' # Set the text to <div><pre><code><$text text=""" <div class="tc-table-of-contents"> <<toc-selective-expandable 'TableOfContents'>> </div>"""/></code></pre></div> # Add a ''caption'' field with the text ''Contents'' # Add a ''list-after'' field with the text ''~$:/core/ui/SideBar/Open'' Add entries to the table of contents by creating tiddlers tagged ''~TableOfContents''. An easy way is to choose <<.icon $:/core/images/new-here-button>> ''new here'' from the tiddler toolbar of the ''~TableOfContents'' tiddler. (if you don't see the "new here" button, click on the down arrow <<.icon $:/core/images/down-arrow>> to see more menu options.) To create child tiddlers (tiddlers that come below other tiddlers), tag them with the name of the parent tiddler.
; How to use alias for template?
Sometimes you have a template for example in a plugin with a long name like
```
$:/plugins/publisher/plugin-name/template/show-raw-content
```
To use a friendly and small name (alias) Tobias Beer proposed to create a new tiddler as below and use it as an alias
title: `tpcode`
```
{{||$:/plugins/publisher/plugin-name/template/show-raw-content}}
```
Thene whenever you wish to transclude using this template use the alias name. For example to transclude myTiddler
```
{{myTiddler||tpcode}}
```
; Assume you have messages stored in tiddlers, how to create a message of the day generator? : Use a pattern for naming message with sequential number and match against day number of month using the `now` macro <<alert info "See also [[Message of the Day Generator]] which uses dataTiddler to implement the generator.">> !! Solution The below solution assumes * message tiddlers have title like `Message xx` where xx is two digits number like 01 02. ... 31 * message tiddlers have been tagged with `message` (this can be any other criteria like tiddlers have a field called `message`, so different script can be used) ``` \define tid() Message $(item)$ <$set name="dd" value=<<now 0DD>> > <$list filter="[tag[message]removeprefix[Message ]match<dd>]" variable=item> <$transclude tiddler=<<tid>> mode=block/> </$list> </$set> ``` !! Remarks * The `$set` widget stores the day number of month with leading zero format `<<now 0DD>>` * The `$list` widget filters all tiddlers their title start with `Message` and remove the prefix to find the sequence number. Note to the trailing space in `Message ` * It then matches against day number * The found item then is shown by `$transclude` widget. Note to `mode=block` ** The tiddler parameter in $transclude is the title of message tiddler
How dynamically create a reference in tiddler widget and access the indexes of a data tiddler
<$macrocall $name="wikitext-example-without-html"
src="""<$tiddler tiddler={{{ [is[current]removeprefix[Another ]addsuffix[ Example]] }}} >
<<currentTiddler>>
* Ali is {{##Ali}}
* Mohammad is {{##Mohammad}}
* Hirad is {{##Hirad}}
</$tiddler>
"""/>
!! Remarks
* The `tiddler={{{...}}}` parameter is where the magic happens...
* Within the enclosing "triple curly braces" is some "filter syntax". This syntax takes the current tiddler title and removes the text "Another" from the beginning of the title and add the suffix " Example", thus producing the correct reference to the corresponding data tiddler. //Note to the spaces.//
* With this bit of magic, it will automatically display index values from the corresponding "data" tiddler.
---
Related tiddlers
<<list-links "[tag[exmp015]] -[<currentTiddler>]">>
;How can I append items to `list field` of a tiddler? Assume the output of a list widget should be appended to the end of items in a list field of a tiddler. The below example shows all tiddlers tagged with `myTag` are appended to the `list` field of `$:/state/reference` tiddler. ``` <$button> <$action-listops $tiddler="$:/state/reference" $subfilter="[tag[myTag1]]"/> Populate list field of state reference </$button> ``` This works using the `action-listops` widget. See also: https://tiddlywiki.com/#ActionListopsWidget
<<docit>>
\define addmember()
<$tiddler tiddler="$:/temp/newproject"><$action-listops $field="members" $subfilter="[{!!newmember}]"/></$tiddler>
\end
How is it possible to choose and append tiddlers to a list based on some filter criteria?
```
\define addmember()
<$tiddler tiddler="$:/temp/newproject"><$action-listops $field="members" $subfilter="[{!!newmember}]"/></$tiddler>
\end
```
<$macrocall $name="wikitext-example-without-html"
src="""Member List: {{$:/temp/newproject!!members}} + <$select tiddler="$:/temp/newproject" field="newmember" actions=<<addmember>>><$list filter="[tag[contact]]"><option>{{!!title}}</option></$list></$select>
"""/>
Tiddlywiki can dynamically apply styles to tiddlers based on filters. A filter can screen tiddlers based on some criteria.
!! Example
Assume it is desired to change the color of border of each existing or newly created tiddler has a field called `xmp`. To do this
# Create a new tiddler tagged with `$:/tags/Stylesheet`
#* Name it whatever you want, here it is [[stylesheet/exmp023]]
# <div>
Put the below script inside tiddler of step 1
```
\define assign-css()
\rules only
[data-tiddler-title="$(currentTiddler)$"].tc-tiddler-frame {
border-color: red;
}
\end
<$list filter="[all[tiddlers]has:field[xmp]]">
<<assign-css>><br>
</$list>
```
* In the above script, the `$list` widget select all tiddlers has a `xmp` field .
* It then calls the `assign-css` macro to apply the custom styles (here border-color) to selected tiddlers using the `data-tiddler-title` selector
* Every newly created tiddler having a `xmp` filed will get this custom style.
</div>
# Create some test tiddlers to see the result
#* Here two tiddlers were created as below
#** [[demo/exmp023/p01]]
#** [[demo/exmp023/p02]]
<<alert info "See the new pluging `escapecss[]` by [[BTC|https://burningtreec.github.io/TW5-escapecss/]]" for more sophisticated cases">>
Archipel is a proof of concept called that uses D3JS into Tiddlywiki to vizualize the tiddlyWiki content. The target is to build a tool for innovation management that will help to visualize and navigate into knowledge contained into tiddlers based on their title and tags. This Javascript widget for Tiddlywiki, uses a D3.js version 5.0 plugin to build a data visualization Knowledge map of tiddler's table of content, as zoomable circle packs. There is another taste of using D3JS by Roland known as [[d3trees|http://viewtransform.net/d3trees/d3trees-preview.html]]. Discussion on d3trees can be found on [[Forum|https://groups.google.com/d/msg/tiddlywikidev/KEImPODsLHA/DuIbYaUVAQAJ]]
Audacity是一款开源、免费的专业音乐编辑器。经过初步体验,简洁的操作界面和方便灵活的选取级编辑工具,可胜任绝大部分的音乐编辑工作。对于我们常用的音乐编辑需求,基本就是对原有的歌 曲进行部分的剪裁并导出为需要的音频文件。下面就基本的MP3格式的文件剪辑做简单记录: !! 一、//编辑界面的布局// !! 二、//简单的音频文件编辑// > 1、新建一个Audacity项目 > 2、打开FIle|Import|Audio菜单导入一个MP3文件 > 3、常用的编辑菜单有select 、edit;常用的工具栏有播放、选择、复制和粘贴。 > 4、编辑窗口基本就是对应两个左右声道的两个轨道,如果选择轨道区域并按下Ctrl+B后就会在单独的一个标签轨道显示新建的标签。 > 5、编辑区域的选择。 >>编辑区域的选择包括可以分为动态播放时的选择和静态选择。选择方式也有鼠标和键盘两种方式。不过一般在动态播放时,为确保精确选择目标编辑区域,使用键盘的的快捷键来完成区域选取。最自然的方式为播放时选择,听到需要标记的地方,使用空格键暂停播放,使用[符号来确定选择区域的开始播放位置,再按下空格键继续播放,到需要的位置再按下空格键暂停,按下键盘上的]键,确定编辑区域的结束播放位置。此时有了选择的轨道区域之后,为了方便标识和操作,可以直接按下Ctrl+B快捷键生成一个标签,输入标签的名称来标记这段选取的区域。添加标签标识一段音频轨道之后,可以选择这个标签,然后按下播放键(或则空格键),会从这段标签标识的区域开始部分进行播放,知道标签区域的结束。如果需要在这个标签之内继续编辑,需要按下暂停键p,然后继续重复使用`[ `和 `]`继续选择目标区域,完成后在重新按下Ctrl+B新建一个Label 来标识这段新的音频轨道。如果需要在静态状态下修改标签音频轨道的区域,可以通过果鼠标拖动的方式、或者窗口最下端的开始和结束时间工具栏来调整音频轨道的区域范围。 !!三、完成选择区域的编辑 > 完成目标区域的选择后,可以直接使用剪切或者删除完成编辑。最后要记得使用文件菜单下的Export来导出编辑成功的音频文件。 //`Audacity编辑界面学习链接`// <div class="tc-table-of-contents"> <<toc-selective-expandable 'Audacity'>> </div>
#看官方文档的说明,其实音频文件的编辑类似于普通文档处理器的编辑方法,先选择好要编辑的音频轨道,然后使用常用的cut、delete 、copy等进行编辑 #标签的编辑 在选择了目标音频轨道区域之后,可以给这个选择的区域添加一个命名的标签名称,可以在需要的时候重新编辑这个标签所标识的音频轨道。用鼠标悬浮在标签上时左键单击标签,此时会选中标签标识的音频轨道,`同时标签的名称处于编辑状态`,任何键盘的输入都只会是编辑标签的名称而已,因此需要`键入回车键`取消标签的编辑状态,然后就可以使用键盘来针对选中的音频轨道进行操作。 *Labels # Edit Labels是是针对标签本身进行编辑。 # Add Label at Selection 是对选择的区域添加标签,一般使用Ctrl+B更高效。 *Labeld Audios 是对通过标签选择的音频轨道进行cut、delete 等操作
> File菜单项的常用项目 >1.new >直接创建一个新的项目,如果需要编辑音频文件,需要再单独使用open或者Import来打开音频文件。 >2.open > 直接打开要编辑的音频文件开始编辑,自动新建一个project,可以在编辑完成后再单独保存这个project。 >3.save project >可以保存当前的编辑进度,注意这里并不是保存单独的可以再别处播放的你编辑过得音频文件。 >4.Export >这个项目是把编辑过得音频文件导出为指定格式的文件,比如导出为MP3。 >5.Import >这个项目是在当前的project中导入一个或者多个音频文件进行编辑。new + import 相当于一个open菜单项的功能。
选择音频轨道区域是编辑的前提,选择方法的否灵性和精确度是音频编辑软件是否好用的标志。
> 鼠标在时间轴的上方单击,就可以在鼠标单击的地方开始播放音频。
>鼠标在音频轨道区域内单击,此时并不会自动开始播放,只是选择了一个播放的起始点。
<br>
---
>动态播放时的区域选择方法
>可以使用空格键开始播放音乐,在需要选择起始点的时候按下暂停键p,再按下表示播放起始点的`[`符号就可以可以选择起始点,此时再按下暂停的`p`键继续播放音乐(`注意不能按空格键播放,空格键播放默认是整个音频的最开始的地方起播放`)。当播放到需要停止的地方时按下暂停键`p`,再按下`]`键就可以选中一段待编辑的音频区域。
>当然也可以更简单:在播放过程中不暂停,在目标位置分别按下`[`和`]`键就可以在播放中完成选择。
<br>
---
>在静止状态下的区域选择方法
>通过工具栏的放大或者缩小按钮把音频轨道缩放在适合的长度,可以看到整个音频轨道或者局部轨道。鼠标单击目标区域的大概的位置,按下`Shift`键,同时点按右箭头向右移动到指定的位置,松开右箭头就可以完成一段轨道区域的选择。在按下`Shift`键的时候,左箭头和右箭头都是在扩大选择区域的,如果需要缩小选择区域,需要在不松开`Shift`的同时按下`Ctrl`键,然后在使用左右箭头来缩小选择的区域。完成选择区域后松开键盘,可以直接按下`Ctrl`+`B`键创建一个标签来标识这段选择的音频轨道区域。在完成标签标识之前不能用鼠标单击或者键盘的其他操作,否则选择的区域会取消,需要重新选择。
<br>
---
>使用编辑窗口最下方的开始、终止时间面板完成区域的调整。
>这个区域的时间单位可以设置,一般可设置为小时:分钟、秒:毫秒。可以鼠标点击时间选择窗,然后在指定区域输入时间完成调整。在输入时间的时候,可以根据需要之间输入数字,也可以使用上下箭头来调整时间,只不过没有之间键入数值更精确,可以使用左右箭头在小时、分钟、秒、毫秒区域之间跳转。
>在一个区域被选择松开了鼠标和键盘,在没有建立标签的时候,不能在轨道区域做任何操作,否则选择区域就会自动取消,需要重新选择。此时如果想调整选择区域,只有通过编辑窗口最下方的时间调整工具区域进行调整。
>选择整个音轨
>{{select-all.jpg}}
>选择项目中的所有的音轨
>{{select-all-project.jpg}}
; How to convert number in one base to another? : Using the mathematical operators in Tiddlywiki 5.1.21+ it is possible to have base conversion <<docit>> !! Macro <<code exmp097/macro/re-base>> !! Syntax ``` <<re-base "base" "decimal input" ``` Supports base-2 to base-36. !! Example <$importvariables filter="[[exmp097/macro/re-base]]"> <$macrocall $name="wikitext-example-without-html" src=""";Examples :1025 decimal = <<re-base 2 1025>> base 2 :1025 decimal = <<re-base 10 1025>> base 10 :1025 decimal = <<re-base 16 1025>> base 16 :1025 decimal = <<re-base 26 1025>> base 26 :1025 decimal = <<re-base 27 1025>> base 27 :1025 decimal = <<re-base 36 1025>> base 36 """/> </$importvariables>
The TW built-in [[Advanced Search|https://tiddlywiki.com/#%24%3A%2FAdvancedSearch]] can do batch operation like batch export and batch delete of tiddlers matching a criteria !! Exporting tiddlers matching a criteria From: [[Tiddlywiki.com|https://tiddlywiki.com/#How%20to%20export%20tiddlers]] # Open [[Advanced Search|https://tiddlywiki.com/#%24%3A%2FAdvancedSearch]] or click little magnifying glass next to the search area on the sidebar # Click on the "Filter" tab of the Advanced Search tiddler. Only the Filter tab will allow you to export a selection of tiddlers. Filters follow a particular syntax. Click on this Filters link to learn about how to make filters. # Once you have written a filter, a list of tiddlers matching the filter will appear. # Now you can click on the export tiddler button to the right of the filter input field. A pop-up menu will offer you the chance to export tiddlers in multiple formats. Currently, the export formats available are: #* CSV file format #* JSON file format #* Static HTML file #* ".tid" file format # Now you can click on the ''export tiddler'' button to the right of the filter input field. A pop-up menu will offer you the chance to export tiddlers in multiple formats. !! Deleting tiddlers matching a criteria # Open [[Advanced Search|https://tiddlywiki.com/#%24%3A%2FAdvancedSearch]] or click little magnifying glass next to the search area on the sidebar # Click on the "Filter" tab of the Advanced Search tiddler. Only the Filter tab will allow you to export a selection of tiddlers. Filters follow a particular syntax. Click on this Filters link to learn about how to make filters. # Once you have written a filter, a list of tiddlers matching the filter will appear. # Now you can click on the ''delet tiddlers'': trash button to the right of the filter input field. A pop-up menu will ask you "Are you sure you wish to delete xx tiddler(s)?" Click ''Delete these tiddlers''.
; How to edit the title of a group of tiddlers?
First, a bit of history: The current version of TiddlyWiki ("TW" or "TW5") was completely re-written from the ground up several years ago to take advantage of modern browser tech such as HTML5. Additionally, in TWC, writing programmatic manipulations of tiddlers required either javascript programming or use of extra "plugins" to provide the needed syntax while in TW5, much of the programmatic syntax is provided natively within the TWCore.
First filter the tiddlers by tag and then execute the batch edit on this group. What I want to do is to put something at the begining of each tiddler's title (like adding prefix) without changing the rest of the tittle. So in the end each tiddler will have the same prefix but different rest of the title.
To "filter tiddlers by tag", use the `<$list>` widget, like this:
```
<$list filter="[tag[sometag]]">
</$list>
```
The `<$list>` widget uses the filter to find all the matching tiddlers and then loops through all the matches and sets the value of the `<<currentTiddler>>` variable to each title, in turn. By default, the `<$list>` widget will simply output the value of the `<<currentTiddler>>` resulting in the display of titles of all the matching tiddlers. To make the widget do something else, you need to add more syntax //within// the enclosing `<$list>...</$list>` that references the `<<currentTiddler>>` variable to act on each tiddler (e.g., setting a specified field value in the `<<currentTiddler>>`)
For example, if you wanted to add/update a field named //matched// to "true", you would use the `<$action-setfield>` widget, like this:
```
<$list filter="[tag[sometag]]">
<$action-setfield $tiddler=<<currentTiddler>> matched="true"/>
</$list>
```
However, the above code is //NOT// enough to get the job done. Because the `<$action-setfield>` widget changes stored tiddler values, it requires a user-initiated //trigger// event to start the process. To achieve this, you can enclose the above `<$list>...</$list>` loop within a `<$button>` widget, like this:
```
<$button>
BUTTON TEXT
<$list filter="[tag[sometag]]">
<$action-setfield $tiddler=<<currentTiddler>> matched="true"/>
</$list>
</$button>
```
So... for your this case, you might think that the code would be something like:
```
<$button>
BUTTON TEXT
<$list filter="[tag[sometag]]">
<$action-setfield $tiddler=<<currentTiddler>> title="...NEW TITLE HERE..." />
</$list>
</$button>
```
However... there are a few tricky details to consider:
First, tiddler //titles// are not just display text, but are used to uniquely identify each tiddler. Thus, changing a title actually ''copies'' the existing tiddler content (//all fields//) to another tiddler with the specified new title and //renaming// a tiddler actually takes TWO actions:
* first change the title (creating a new tiddler), and then
* delete the tiddler with the old title, like this:
```
<$button>
BUTTON TEXT
<$list filter="[tag[sometag]]">
<$action-setfield $tiddler=<<currentTiddler>> title="..." /> <!-- CREATES NEW TIDDLER -->
<$action-deletetiddler $tiddler=<<currentTiddler>> /> <!-- REMOVES OLD TIDDLER -->
</$list>
</$button>
```
The next problem is that TW5 syntax does not do direct text manipulation "in line", so assembling the desired new title (i.e., prepending some text to the beginning of the existing title) requires use of a little "helper" macro, like this:
```
\define newTitle(prefix) $prefix$$(currentTiddler)$
```
This macro takes one parameter, "prefix". The value of the parameter is rendered into the output using the `$...$` syntax (i.e., "`$prefix$`"). The value of the current tiddler title is already available as a variable defined in the calling scope, and is referenced using the `$(...)$`.
Putting it together, we get:
```
\define newTitle(prefix) $prefix$$(currentTiddler)$
<$button>
BUTTON TEXT
<$list filter="[tag[SOMETAG]]">
<$action-setfield $tiddler=<<currentTiddler>> title=<<newTitle "SOMEPREFIX">> />
<$action-deletetiddler $tiddler=<<currentTiddler>> />
</$list>
</$button>
```
While this works, it would be nicer if we didn't "//hard code//" the button label, tag to match and the prefix to be added. To do this we can move the `<$button>` definition into a macro, and then invoke the macro, passing in the desired values, like this:
```
\define newTitle(prefix) $prefix$$(currentTiddler)$
\define addPrefix(label,tag,prefix)
<$button>
$label$
<$list filter="[tag[$tag$]]">
<$action-setfield $tiddler=<<currentTiddler>> title=<<newTitle "$prefix$">> />
<$action-deletetiddler $tiddler=<<currentTiddler>> />
</$list>
</$button>
\end
<<addPrefix "ClickMe!" "sometag" "SomePrefix">>
```
That should do it.
<div class="tc-table-of-contents"> <<toc-selective-expandable 'Bcd'>> </div>
An observation on behavior of links to tiddlers that are embedded into svgs (will seem out of context till I post about svg overlays for tiddler images) Using svg's for map & diagrams with links to tiddlers embedded into the svg code such as ``<a xlink:href="#tiddler title">`` (Deprecated) ``<a href="#tiddler title">`` - - normally, full or shortened standard urls are used but "#" allows you ro target individual tiddlers inside the wiki. That "#tiddler title" may cue you into what will result-- a permalink link in the browser address bar. 1- The permalink url in the browser address bar will change with each different svg embedded link 2- If you close the tiddler that gets opened, the embedded svg link will not open it again while the browser address bar contains its permalink url, making it look like that embedded link doesn't work any longer 3- If you refresh the wiki without noticing the permalink url and clearing it, you will be left wondering why an unexpected tiddler displays and not your default start up tiddlers
; Which pattern is better in using a button widget?
* Pattern A
```
<$button actions=""> ...</$button>
```
* Pattern B
```
<$button>
actions
...
</$button>
```
<<<Jeremy Ruston
I personally prefer a variant of style A where one uses a variable to store the action widgets instead of a separate tiddler:
<<<
!! Example
* First store the actions in a variable (here a macro)
```
\define my-actions()
<$action-navigate $to="$:/ControlPanel"/>
<$action-setfield $tiddler="$:/SiteTitle" $value={{{ [{$:/SiteTitle}addsuffix[!]] }}}/>
\end
```
* Then pass the variable to actions attribute of a `$button` widget.
```
<$button actions=<<my-actions>> >
Click me to open control panel and add an exclamation mark to the site title
</$button>
```
<<alert warning "''Note'': Pattern A is the recommended pattern. You can define as many action you like inside a macro and then pass it to button widget.">>
;Remark
:There is a priority in running actions given to $button actions attribute (pattern A) and those located inside $button widget (pattern B). <<docit>> see: [[Button Actions versus Button Inline Actions]]
;Which filter run faster? :Assume you have more than 100 tiddlers in their tittle there is a "Demo" word! Some of them are hidden tiddlers, their name started with "$:/" what is the best filter to list them? * Case i: two search:title ``` <$list filter="[search:title[exa]] -[search:title[$:]]"> </$list> ``` ><$list filter="[search:title[exa]] -[search:title[$:]]"> </$list> * Case ii: one search:title and negate prefix ``` <$list filter="[search:title[exa]!prefix[$:/]]"> </$list> ``` ><$list filter="[search:title[exa]!prefix[$:/]]"> </$list> * Answer This would probably be a little better: `<$list filter="[search:title[Demo]!prefix[$]]">` Because this way you don't make the underlying javascript look for the `$` anywhere except the first character location. Also, yours would omit: `X$:/My Demo` Which might exist if a user wanted to make a system tiddler temporarily visible in the recent tiddlers sidebar. * Case iii ``` <$list filter="[!is[system]search:title[exa]]"> </$list> ``` ><$list filter="[!is[system]search:title[exa]]"> </$list> Ref: [[Jeremy Ruston|https://groups.google.com/d/msg/tiddlywiki/XuHiTCI4N60/v2Yrtpv8EAAJ]] There is a built-in filter operator `is[system]` for detecting system tiddlers, so a better choice would be: `[!is[system]search:title[Demo]]` Again, we filter out system tiddlers before doing the search so as to reduce the number of tiddlers that we have to search. !! More discussion # [[Performance comparision|https://groups.google.com/d/msg/tiddlywiki/FmuBA2SMjxw/-AkxAPCnCAAJ]] between `[is[current]]` and `<currentTiddler>` # [[A fast list|https://groups.google.com/d/msg/tiddlywiki/XuHiTCI4N60/_g8ZUvGuAwAJ]]
There are two ways to produce HTML block quotes in TiddlyWiki5, one for content spread across multiple lines, and one for single line content. ! Multi-line Block Quotes The syntax for multi-line block quotes (<<.icon $:/core/images/quote>>) is: <<wikitext-example src:"<<< This is a block quoted paragraph written in English <<< ">> !! Citation A citation can be added to the quote like this: <<wikitext-example src:"<<< Computers are like a bicycle for our minds <<< Steve Jobs ">> !! CSS Classes CSS classes can be added to a block quote: <<wikitext-example src:"<<<.myClass.another-class Operating systems are like a brick wall for our minds <<< Nobody ">> The core includes the class `tc-big-quote` that renders block quotes with outsize double quotes: <<wikitext-example src:"<<<.tc-big-quote A dramatic quote <<< Somebody Important ">> ! Single-line Block Quotes The single-line syntax for block quotes is actually an extension of the syntax for [[Lists in WikiText]]. For example: <<wikitext-example src:"> Quoted text > Another line of quoted text ">> You can also nest quotes like this: ``` > A top quote >> A subquote > Another top quote ``` Which renders as: > A top quote >> A subquote > Another top quote You can also mix block quotes with other list items. For example: <<wikitext-example src:"* List One ** List Two **> A quote **> Another quote * List Three ">>
HTML bookmarks are used to allow readers to jump to specific parts of a Web page. Bookmarks can be useful if your webpage is very long. To make a bookmark, you must first create the bookmark, and then add a link to it. When the link is clicked, the page will scroll to the location with the bookmark. It seems it possible to make a bookmark in TW. !! Create a bookmark First create a bookmark using `id` ``` <h2 id="C4">Chapter 4</h2> ``` !! Then, add a link to the bookmark (Jump to Chapter 4), from within the same page ``` <$link href="#C4">Jump to Chapter 4</$link> ``` <$link href="#C4">Jump to Chapter 4</$link> @@color:#f00;background-color:#eee;padding:10px; Check with Jeremy Also see this wiki uses internal-link and anchor [[Internal-link Demo|http://intlinks.tiddlyspot.com/#tw-href5]] @@
How we can create `tabs` from complex part of texts? Assume these parts are stored in tiddler fields
```
<$wikify name=Résumé text='{{!!released}} {{!!author}}-Résumé'>
<$wikify name=Notes text='{{!!released}} {{!!author}}-Notes'>
<<tabs "[<Résumé>] [<Notes>]" "Click the little link">>
</$wikify>
</$wikify>
```
* ''Pitfall''
;[[Jeremy Ruston|https://groups.google.com/d/msg/tiddlywiki/w2kI4_VeohM/U8kwsI6TBwAJ]]
Just to point out a pitfall of that approach -- the tranclusions {{!!released}} and {{!!author}} will be wikified, so if you have an author Mary McManus, then their second name would be turned into a link.
If you want to display those fields without wikifying them, then use the `<$text text={{!!released}}/>` or `<$view field="released"/>` widgets.
; How customize a button using the CSS class?
: The `$button` widget has a CSS class which lets to customize the appearance of a button.
!! Example
Create a class to set `yellow` as button background and `cyan` on mouse hover.
<<wikitext-example-without-html
src:"""<$button class="mycolor">
adf
</$button>
<style>
.mycolor {background:yellow}
.mycolor:hover {background:cyan}
</style>
""">>
!! Remarks
There are ready to use classes in Tiddlywiki core can be used for button for example,set class to `tc-btn-invisible` `tc-tiddlylink` to have a button look like an internal link.
<<wikitext-example-without-html
src:"""<$button class="tc-btn-invisible tc-tiddlylink">
adf
</$button>
""">>
; How to add a sort button to tagpill dropdown menu?
: Put a sorting macro in a tiddler tagged with `$:/tags/TagDropdowb`.
!! Example
Develop a buttons to sort tiddlers in ascending or descending order and add them to dropdown menu in tagpill.
<<<
The below code does the job, create a new tiddler, name and tag it as below and put the code inside it.
* Title: macro/sort-tagged-tiddlers (or whatever you want)
* Tag: `$:/tags/TagDropdown`
```
\define tagSortFunc(mainTag, order:"ascend")
<$reveal type="match" default="ascend" text=<<__order__>> >
<$action-listops $tiddler=<<__mainTag__>> $filter="[tag<__mainTag__>sortan[]]"/>
</$reveal>
<$reveal type="nomatch" default="ascend" text=<<__order__>> >
<$action-listops $tiddler=<<__mainTag__>> $filter="[tag<__mainTag__>!sortan[]]"/>
</$reveal>
\end
\define sortInTagDropdown()
<$button tooltip="Sort tiddlers A → Z" aria-label="Sort tiddlers A → Z" class='tc-btn-invisible'>Sort {{!!title}} tiddlers A → Z
<$macrocall $name="tagSortFunc" mainTag={{!!title}}/>
</$button>
<$button tooltip="Sort tiddlers Z → A" aria-label="Sort tiddlers Z → A" class='tc-btn-invisible'>Sort {{!!title}} tiddlers Z → A
<$macrocall $name="tagSortFunc" mainTag={{!!title}} order="no-ascend"/>
</$button>
\end
<<sortInTagDropdown>>
```
<<<
!! Remarks
* The `sortInTagDropdown` create two buttons for ascending and descending sort order
* It then calls the `tagSortFunc` to sort alphanumerically the tiddlers tagged with the current tag
!! See it in action
[[Example 37|macro/sort-tagged-tiddlers]] impelemnt the above code. To see it in action click on a tagpill and see the two new buttons
* `Sort tiddlers A → Z` and
* `Sort tiddlers Z → A`
!! Similar topics
The below topics are related to sort items
<<list-links "[search:title[sort]] [search:keywords[sort]] -[<currentTiddler>]" type:"ol">>
<div class="tc-table-of-contents"> <<toc-selective-expandable C/C++''>> </div>
> int * pi ; > float * pf; > double * pd ; <br/> --- >int a[4]; >float f[4]; >char c[10]; --- * 指针与数组 >1.指向数组的指针 <br/> >2.指针数组 --- * 指针与函数 >返回指针的函数 > char * p(char *p1,char* p2); >指向函数的指针 >char (*p)(char *p1,char * p2); <br/> --- * 函数指针数组(指向函数的指针数组)
> 指针变量也是一种数据类型,在计算机中也要分配地址空间。
<br/>
>所谓的“指针类型的数值”,实际上是指内存地址
> 既然指针类型变量的数值就是地址,那指针类型可以叫做地址类型。就是专门用来存放地址类的数据。取了个难懂的名字叫做指针,以前业余自学C语言,搞不懂指针,我被忽悠了很多年(^-^),今天又好像明白了点。
> 我忽然觉得应该就叫做`地址类型`,这样称呼的话,指针的神秘面纱没有了,他就是一个地址。
> 现在来再问为何要发明这个指针类型呢?或者叫做地址类型,因为每一个变量都要分配一个地址,cpu要从内存中要读取一个变量值,第一步是要知道这个变量的地址,带着这个地址到内存中取数据。像是我们
<br/>
> 定义不同的指针类型,他们的寻址能力不一样,int * 能寻址4个字节,每个指针偏移一个单位,就是4个字节;double * 能寻址8个字节,指针偏移一个单位就是8个字节。
>如果你定义的是一个结构体,如果结构体如下:`
typedef struct example{
int a;
double b;
char c;
}
`
>EXAMPLE;如果你定义一个EXAMPLE *test;那么EXAMPLE *这个指针结构的寻址能力就是整个结构体共13个字节(其实并不是13个字节)。明白这一点,你就可以理解VC编程中的句柄的概念,以及C++类定义成指针为什么能找到自己的内部成员。
<br/>
* 以int 指针为例说明指针的赋值
>int i =10;
>把I的地址赋值给指针pi;
>int *pi = &i ;
>涉及到指针操作的两个操作符& 和*都出现了。
>对于复杂的指针表达式的解析方法:出现*号,就表明后面这个名称是存储地址的指针,一个表达式中有多个星号的出现,就代表是多级指针。一个指针变量指向了另外一个指针变量,形成多级指针,或者指针链条,或者直接叫做地址链条。
> 当一个指针变量被赋予于地址值后,就可以使用*操作符来取值,*号后面跟跟一个指针变量*p,就代表到p持有的内存地址处读取数据,能读取到的数据可以是任何他指向的数据,int 、float、double 等具体的数值,也开始是另外一个地址,如果通过指针的地址读取到还是一个地址,那就是地址之间的来回跳转,多个连续的地址,是不是就形成地址链条了呢。
> int * (*(*p))
>可以从内向外分析:第一个(*p) 就表示到p保存的地址出取值,在(*p)的左边又出现了一个*,表示(*p)取出的数值还是地址。
> (*p) -> *(*p) -> *(*(*p))
> 理解这个最好自己画个内存的地址草图,模拟一下取值的地址跳转过程,有这个地址的操作概念即可。
> 代码不是都这么
>总之一条,指针他就是个地址的代名词,也许是为了抽象吧,如果直接叫地址类型的变量也许会更容易理解。
int p; `这是一个普通的整型变量` int *p; `首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P是一个指向整型数据的指针` int p[ 3]; `首先从P 处开始,先与[]结合,说明P 是一个数组,然后与int 结合,说明数组里的元素是整型的,所以P 是一个由整型数据组成的数组` int *p[ 3]; `首先从P 处开始,先与[]结合,因为其优先级比*高,所以P 是一个数组,然后再与*结合,说明数组里的元素是指针类型,然后再与int 结合,说明指针所指向的内容的类型是整型的,所以P 是一个由返回整型数据的指针所组成的数组` int (*p)[ 3]; `首先从P 处开始,先与*结合,说明P 是一个指针然后再与[]结合(与"()"这步可以忽略,只是为了改变优先级),说明指针所指向的内容是一个数组,然后再与int 结合,说明数组里的元素是整型的.所以P 是一个指向由整型数据组成的数组的指针` int **p; `首先从P 开始,先与*结合,说是P 是一个指针,然后再与*结合,说明指针所指向的元素是指针,然后再与int 结合,说明该指针所指向的元素是整型数据.由于二级指针以及更高级的指针极少用在复杂的类型中,所以后面更复杂的类型我们就不考虑多级指针了,最多只考虑一级指针.` int p( int); `从P 处起,先与()结合,说明P 是一个函数,然后进入()里分析,说明该函数有一个整型变量的参数,然后再与外面的int 结合,说明函数的返回值是一个整型数据` Int (*p)( int); `从P 处开始,先与指针结合,说明P 是一个指针,然后与()结合,说明指针指向的是一个函数,然后再与()里的int 结合,说明函数有一个int 型的参数,再与最外层的int 结合,说明函数的返回类型是整型,所以P 是一个指向有一个整型参数且返回类型为整型的函数的指针` int *(*p( int))[ 3]; `可以先跳过,不看这个类型,过于复杂。从P 开始,先与()结合,说明P 是一个函数,然后进入()里面,与int 结合,说明函数有一个整型变量参数,然后再与外面的*结合,说明函数返回的是一个指针,,然后到最外面一层,先与[]结合,说明返回的指针指向的是一个数组,然后再与*结合,说明数组里的元素是指针,然后再与int 结合,说明指针指向的内容是整型数据.所以P 是一个参数为一个整数据且返回一个指向由整型指针变量组成的数组的指针变量的函数.` *说到这里也就差不多了,我们的任务也就这么多,理解了这几个类型,其它的类型对我们来说也是小菜了,不过我们一般不会用太复杂的类型,那样会大大减小程序的可读性,请慎用,这上面的几种类型已经足够我们用了. >个人的理解: *指针在C语言中的其实就是地址,用来表示内存中变量的地址,从而可以灵活的操作数据。指针变量就专门保存地址的变量 *一级指针,直接指向某个的定的数值,比如指向整数类型变量的指针。 *二级指针,就是两个地址链接起来 *三级指针,即使三个地址链接起来。 *N 级指针,就是一个地址链。^-^
; The problem of wikification of camel case word in list output : Use `text` widget ! Problem ``` <ol> <$list filter="[tag[100.02]]" variable="myTid"> <li> <<myTid>></li> </$list> </ol> ``` <ol> <$list filter="[tag[100.02]]" variable="myTid"> <li> <<myTid>></li> </$list> </ol> ! Solution ``` <ol> <$list filter="[tag[100.02]]" variable="myTid"> <li><$text text=<<myTid>> /></li> </$list> </ol> ``` <ol> <$list filter="[tag[100.02]]" variable="myTid"> <li><$text text=<<myTid>> /></li> </$list> </ol>
;What is _canonical_uri?
: It lets you wrap an external tiddler into a tiddler so that you can refer to it more easily.
!! Example
For example, create a tiddler titled ''MyImage'' with the type `image/jpeg` and the `_canonical_uri` field set to ''images\anatomy.jpg''. Then you can embed it as an image with `[img[MyImage]]` or `{{MyImage}}`.
The advantage of using it is that you can subsequently change the URL of the image just by changing it in a single place.
; How can center table horizontally in a tiddler:
: Create a tiddler tagged with `$:/tags/Stylesheet` and put the below css code inside it.
```css
.tc-tiddler-body table.centered{
margin:0 auto;
}
```
\define set-lineheight()
<$list filter="[range[18,24]addsuffix[px]after{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize!!text}]" variable="font-size">
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/bodylineheight" text="26px"/>
</$list>
<$list filter="[range[10,18]addsuffix[px]after{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize!!text}]" variable="font-size">
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/bodylineheight" text="22px"/>
</$list>
\end
Other Ref: [[JD|https://groups.google.com/d/msg/tiddlywiki/7XkeusUTdZU/x3kv5FHlAwAJ]]
''Font size:''
<$select tiddler='$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize' defualt="15px"
actions=<<set-lineheight>> >
<$list filter="[range[10,24]addsuffix[px]]" variable="font-size">
<option value=<<font-size>>><<font-size>></option>
</$list>
</$select>
<$button>Reset
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize" text="15px"/>
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/bodylineheight" text="22px"/>
</$button>
!! How to change the body font?
To change the body font size and line height the below two system tiddlers are used
* [[$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize]]
* [[$:/themes/tiddlywiki/vanilla/metrics/bodylineheight]]
Here a code has been developed to use a select widget to handle body font sizing. To see the code edit this tiddler. Here based on the font size the line height is changed. A new `range` operator from TW5.1.18 is used to generate a list of font sizes. The line height here is set in two values, for small font `22px` and for big font `26px` line height is used.
<<alert primary "If you want to have the control buttons above the sidebar tag this tiddler with `$:\tags\PageControls`">>
```css
textarea, input[type="text"], input[type="search"], input[type=""], input:not([type]) { padding-left: 0.2em; padding-bottom: 0.175em; -webkit-appearance: none; -moz-appearance: none; }
.tc-sidebar-lists .tc-search { margin-top: 40px; margin-bottom: 20px; position: relative; z-index: 10; }
.tc-search input[type="search"] { border: 2px inset black; box-sizing: border-box; margin: 0; }
.tc-search input[type="search"]:focus { border: 2px inset red; box-sizing: border-box; margin: 0; }
```
Note the two last lines, they demonstrate how to address the search field in the sidebar AND in the advanced search at the same time.
The very last line shows how to change the border color when the field has the focus.
The first line in the code adds some spacing between borders and content of most fields in TW and probably makes sure mobile browsers do not apply their own styles. I don’t know if this is still necessary.
The second line adds some whitespace above and below the search field in the sidebar, just a matter of taste I guess.
You can change your password from your control panel. Get to your control panel using a URL like this: ``` http://your-site-name.tiddlyspot.com/controlpanel/ ``` For example if your wiki is kookmae, then use the below address ``` http://kookma.tiddlyspot.com/controlpanel/ ``` # Enter the current password # Choose a new password # Retype it and press Update
;How change the background color of sidebar
: Target the CSS element `tc-sidebar-scrollable`
!! Solution
# Create a new tiddler
# Tag it with `$:/tags/Stylesheet`
# Customize `tc-sidebar-scrollable`
!! Example
To change the whole sidebar background to yellow, use the below CSS
```
.tc-sidebar-scrollable{
background-color:yellow;
}
```
!! Remarks
To adjust the wiki title and subtitle, customize the `tc-sidebar-header`. For example try the below CSS
```
.tc-sidebar-header{
margin-top:-33px;
}
```
<<alert info "''Note:'' A plugin by [[Zaphod|Zaphod Sidebar Colors and Shades]] has been developed to customize the wiki background, which includes cover image, sidebar shade and color, etc.">>
The below css can change the sidebar tabs color:
```
/*sidebar tab buttons*/
.tc-sidebar-lists .tc-tab-buttons button
{
color: #FFFFFF;
background-color: #7499DA;
}
/*sidebar tab buttons when selected*/
.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {
color: #FFFFFF;
background-color: #4A7ACF;
}
```
; How to change the background color of list-bullet button in Tiddlywiki editor toolbar?
: Use the below CSS. It is possible to change the background color of all butons in a similar way.
Create a tiddler
Tag it with `$:/tags/Stylesheet`
Put the below CSS inside the tiddler body (text)
```
.tc-editor-toolbar > .tc-reveal > button {
display: inline-flex;
padding: 0;
}
.tc-editor-toolbar button .tc-image-button {
padding: 2px;
font-size: 1.25em;
}
.tc-editor-toolbar button .tc-image-list-bullet {
display: flex;
align-items: stretch;
justify-content: stretch;
fill: red;
background-color: yellow;
}
```
!! Remark
If you need to change the background color of all toolbar buttons change the last part of above CSS as below:
```
.tc-editor-toolbar button {
display: flex;
align-items: stretch;
justify-content: stretch;
fill: red;
background-color: yellow;
}
```
!! Extra
you can also add a width to the svg to make it narrower, specially if it used on mobile.
```
.tc-editor-toolbar button .tc-image-button {
padding: 4px 0px;
font-size: 1.45em;
width: 30px;
}
```
;How to check if a macro / variable exists?
A new subfilter `[is[variable]` has been introduced in Tddly 5.1.20 to support checking the existence of a macro variable.
<<dbadge Tiddlywiki 5.1.20+ danger>>
!! Syntax
```
[[VAR_NAME]] +[is[variable]addsuffix[ is a variable]] ~[[Undefined variable or macro 'VAR_NAME']]
[[currentTiddler]] +[is[variable]addsuffix[ is a variable]] ~[[Undefined variable or macro ‘currentTiddler']]
```
!! Example i
The below macro was proposed by [[S.S.|https://groups.google.com/d/msg/tiddlywiki/4rEuAWc4EpM/8kvLDh7qBwAJ]] and works as expected.
```
\define variable-test(var)
<$list filter="[[$var$]] +[is[variable]]" emptyMessage="''$var$'' - //Undefined variable or macro//">
''$var$'' - Existed variable or macro
</$list>
\end
1. <<variable-test list-links>>
2. <<variable-test list-linkss>>
```
See in [[Example 52: Check if Variable Macro Exists]] the new `subfilter` in action.
!! Example ii
[[Mal|https://groups.google.com/d/msg/tiddlywiki/4rEuAWc4EpM/1qOUvPdhAgAJ]] has proposed the below simple syntax
```
{{{ [[myMacro]] +[!is[variable]addsuffix[ is not defined]] }}}
```
This should produce "myMacro is not defined" or nothing if the macro or variable is defined.
;How to check if the macro parameter has not been passed; :Use an empty value and use a `list` widget to check it. ``` \define mm(argIn:"Empty") <$list filter="[<__argIn__>] -Empty"> Do my job! </$list> \end <$button>Check <<mm test>> </$button> ``` !! Remarks * If no value for `argIn` passed, then it will get the default value `Empty` * The filter then `"[<__argIn__>] -Empty"` then will return nothing and the list widget will not run * So, the script between `<$list` and `</$list>` will be ignored. <<alert info "''Note'': Wrapping the whole macro inside above `list` widget causes macro only run if the parameter gets a non-Empty value.">> !! Alternative i A rather robust solution is proposed by BTC as below ``` \define macro2(param) <$list filter="[<__param__>minlength[1]]"> Do my job! </$list> \end ``` In this method, if param has not been passed the `minlength[1]` returns nothing. This operator means the input should have at least one character. !! Alternative ii Bimlas in [[forum|https://groups.google.com/d/msg/tiddlywiki/82N15sAnoPs/iWhtoBjbAwAJ]] proposed this alternative, in that the macro is blank ``` \define mymacro(argIn) <$list filter="[<__argIn__>] -[[]]"> Do my job! </$list> \end <$button>Check <<mymacro test>> </$button> ```
;How to check if a title refere to an existing tiddler; : Use the `is` or `has` operator. Any of below form may be used ``` [is[tiddler]] [!is[missing]] [has[title]] ``` !! Example i The below example uses `[is[tiddler]]` and only lists the existing tiddlers. So, it seems `c` is not a tiddler. <$macrocall $name="wikitext-example-without-html" src="""><$list filter="solution tutorial TalhaTid +[is[tiddler]]"> </$list> """/> !! Example ii The below example uses `[is[missing]]` and only lists the non-existing tiddlers e.g. missing tiddlers. So, it seems `TalhaTid` is not a tiddler. <$macrocall $name="wikitext-example-without-html" src="""><$list filter="solution tutorial TalhaTid +[is[missing]]"> </$list> """/> !! Example iii The below example uses `[has[title]]` and only lists only the existing tiddlers. So, it seems `TalhaTid` is not a tiddler. <$macrocall $name="wikitext-example-without-html" src="""><$list filter="solution tutorial TalhaTid +[has[title]]"> </$list> """/>
; How to check if a tiddler is newer than the other?
: Compare the modified time of two tiddlers
```
\define is-thisTid-newer(TidA, TidB)
<$set name="tidAMod" value={{{ [[$TidA$]get[modified]] }}}>
<$set name="tidBMod" value={{{ [[$TidB$]get[modified]] }}}>
<$list filter="[<tidAMod>] [<tidBMod>] +[nsort[]last[1]removesuffix<tidAMod>]">
Yes, $TidA$ is newer
</$list>
<$list filter="[<tidAMod>] [<tidBMod>] +[nsort[]last[1]removesuffix<tidBMod>]">
No, $TidA$ is older
</$list>
</$set>
</$set>
\end
```
!! Remarks
# The first two `$set` widgets get the date of modification of two tiddlers and stores in related variables
# The first `$list` widget uses a smart filter to determine if //tidAMod// is greater than //tidBMod//.
# The second `$list` widget uses a smart filter to determine if //tidBMod// is greater than //tidAMod//.
!! This is another solution
Here the `$reveal` widget has been used! This is a little longer code in comparison to the above solution.
See for more infor [[BTC|https://groups.google.com/d/msg/tiddlywiki/9QQvkJkLogA/xDWozyJRBgAJ]].
```
\define is-newer(TidA, TidB)
<$set name="tidAMod" value={{{ [[$TidA$]get[modified]] }}}>
<$set name="tidBMod" value={{{ [[$TidB$]get[modified]] }}}>
<$reveal type="match" text="yes" default={{{ [<tidAMod>] [<tidBMod>] +[nsort[]last[1]remove<tidBMod>addprefix[yes]removesuffix<tidAMod>] ~[[no]] }}}>
$TidA$ is newer
</$reveal>
<$reveal type="match" text="no" default={{{ [<tidAMod>] [<tidBMod>] +[nsort[]last[1]remove<tidBMod>addprefix[yes]removesuffix<tidAMod>] ~[[no]] }}}>
$TidB$ is newer
</$reveal>
</$set>
</$set>
\end
```
<<docit>> Merge this with * [[Checkbox with Three State]] * [[Checkboxes Like Radio Button]]
\define tristateCheck(field:output option1:Left option2:Right) <$checkbox field="""$field$""" checked="""option1""" unchecked=''> $option1$</$checkbox> <$checkbox field="""$field$""" checked="""option2""" unchecked=''> $option2$</$checkbox> \end <<tristateCheck>> !!! See also [[Checkboxes Like Radio Button]]
``` L <$checkbox field=status checked="L" unchecked="R"/> R <$checkbox field=status checked="R" unchecked="L"/> ``` Left <$checkbox field=status checked="L" unchecked="R"/> Right <$checkbox field=status checked="R" unchecked="L"/> !! See also [[Checkbox with Three State]] Doc also [[Checkbox Like Radio Button - New Solution]]
There are better code, see: [[kookma/stylesheet/tw-adjustment]]
```css
*ICONS*/
html body.tc-body .tc-image-edit-button {stroke: white;fill:#000;}
html body.tc-body .tc-image-delete-button {stroke: white;fill:#ff2222;}
html body.tc-body .tc-image-cancel-button {stroke: white;fill:#ffdd55;}
html body.tc-body .tc-image-done-button {stroke: white;fill:#99ee22;}
html body.tc-body .tc-image-home-button {stroke: white;fill:#5778d8;height:20px;}
html body.tc-body .tc-image-palette {stroke: white;fill:#7897fc;}
html body.tc-body .tc-image-new-button {stroke: white;fill:#7897fc;}
html body.tc-body .tc-image-heading-1 {stroke: white;fill:#7897fc;}
html body.tc-body .tc-image-favicon {stroke: white;fill:#7897fc;}
html body.tc-body .tc-image-stamp {stroke: white;fill:#ff2277;}
```
;How to clone tiddlers programmatically?
The purpose is to clone a tiddler silently using Tiddlywiki scripts.
```
\define clone(newTid,Template)
<$action-createtiddler $basetitle=$newTid$ $savetitle="temp" />
<$list filter="[<__Template__>fields[]] -title" variable=fname >
<$set name="fval" tiddler=<<__Template__>> field=<<fname>> >
<$action-setfield $tiddler={{temp}} $field=<<fname>> $value=<<fval>> />
</$set>
</$list>
\end
```
!!! Remarks
* The `action-createtiddler` widget creates a new tiddler using basetitle and save it in a temp tiddler
* The `list` widgets iterated over all fileds except the `title` and set them for the new tiddler. These include tags, creator, created, ... fileds
;Note
: It is required to iterate over all fileds using this method. You can also use the method by Mark below, but it needs a unique title.
!! Example
The below example makes 5 clones of //testTemplate//.
```
<$button>Clone me
<$list filter="[range[1,5]addprefix[b00]]">
<$macrocall $name=clone newTid=<<currentTiddler>> Template=testTemplate />
</$list>
</$button>
```
!! Alternatives
Other solution has given here, each has pores and cons.
!!!Solution by FrD
A code to clone a tiddler and remove filed2 from it.
Ref: [[FrD|https://groups.google.com/d/msg/tiddlywiki/swbra9EhOm4/dQk3YpsPAQAJ]]
* Create a tiddler, for instance "//testtemplate//" with a tag ("//MyTag//"), some text and two fields : //field1// and //field2//.
* Create a tiddler, say "//testcreate//" with this code inside :
```
\define actions()
<$action-setfield $tiddler="testtemplate" $field="title" $value="MyNewTiddler" />
<$action-deletefield $tiddler="MyNewTiddler" $field="field2" />
\end
<$button actions=<<actions>>>
Create and remove field
</$button>
```
!!! Solution by Mark
Ref: [[Mark|https://groups.google.com/d/msg/tiddlywiki/tUwDeDPQyDc/uKPP3sl1BQAJ]]
* Create a unique title (possibly title plus date stamp).
* Use `action-setfield` to create new tiddler with the new, unique title.
<<alert info "A tiddler can be directly cloned by clicked on the clone icon in Tiddler toolbar.">>
; Have a button to navigate back to my home tiddler and close all other tiddlers
```
<$navigator story="$:/StoryList" history="$:/HistoryList">
<$button class="tc-btn-invisible tc-tiddlylink">
{{$:/core/images/home-button}} Home
<$action-sendmessage $message="tm-close-all-tiddlers" />
<$action-navigate $to="PLACE_TITLE_OF_HOME_TIDDLER_HERE"/>
</$button>
</$navigator>
```
!! Explanation
* The `tm-close-all-tiddlers` message handles actually closing all tiddlers, by sending that message up to the navigator widget.
* Then the action navigate widet actually opens your "HOME" tiddler.
* The `class="tc-btn-invisible tc-tiddlylink"` in the button just adds a bit of styling.
!! A working example
Go to https://tiddlywiki.com, make a new tiddler and paste the following:
```
<$navigator story="$:/StoryList" history="$:/HistoryList">
<$button class="tc-btn-invisible tc-tiddlylink">
{{$:/core/images/home-button}} Home
<$action-sendmessage $message="tm-close-all-tiddlers" />
<$action-navigate $to="ButtonWidget"/>
</$button>
</$navigator>
```
This will close all tiddlers and navigate to "ButtonWidget" tiddler.
!! Related solutions
These solutions are similar:
* [[Open All Tiddlers Meet Some Criteria]]
* [[Open all Tiddlers with Tag-X]]
You can use triple backticks <code>```</code> to mark code blocks (<<.icon $:/core/images/mono-block>>): <pre> ``` This will be monospaced ``` </pre> Renders as: ``` This will be monospaced ``` To be interpreted correctly, the three backticks need to be at the start of the line and immediately followed by a line-break. Be aware that any preceding paragraph content should be properly terminated with a double line break, too. So, this example is wrong: <pre> This is an ordinary paragraph ``` This will be monospaced ``` </pre> The correct version is: <pre> This is an ordinary paragraph ``` This will be monospaced ``` </pre> Note that some keyboard layouts treat the backtick as a [[dead key|https://en.wikipedia.org/wiki/Dead_key]], making it hard to type. The trick is to type three backticks followed by a space. Alternatively, type all six backticks in one go, then a space, and then move the cursor back three characters to type or paste the content.
! Tabs macro
The tab created by `tabs` macro can be colorful as below:
* create a custom class
* customize based on nth-child
* call tabs using that class
```
<style>
.cls2 .tc-tab-buttons button:nth-child(1) {background:blue; color:white;}
.cls2 .tc-tab-buttons button:nth-child(2) {background:red; color:white;}
.cls2 .tc-tab-buttons button:nth-child(3) {background:green; color:white;}
</style>
<<tabs "one two three" class:"cls2">>
```
More info:
* [[Tiddlywiki|https://tiddlywiki.com/#tabs%20Macro]]
* [[Old discussion|]]
! Solution by Ton Gerner
In my own theme I use the following for Sidebar tabs and the vertical More sidebar tabs:
```
/* SIDEBAR TABS */
.tc-sidebar-lists .tc-tab-buttons button {
color: #0044BB;
background-color: #FFFFFF;
border: 1px solid #D1DDF3;
border-radius: 0.3em;
}
.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {
font-weight: bold;
color: #0044BB;
background-color: #D1DDF3;
border: 1px solid #A2BBE6;
border-radius: 0.3em;
}
/* SIDEBAR 'More' TABS */
.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {
background-image: none;
background-color: #FFFFFF;
border: 1px solid #D1DDF3;
}
.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {
background-image: none;
background-color: #D1DDF3;
border: 1px solid #A2BBE6;
}
```
\define colorbar(color, width:"100",height:"20") <svg width="$width$" height="$height$"> <rect fill="$color$" x="0" y="0" width="$width$" height="$height$"/> </svg> \end For more information see: [[w3schools|https://www.w3schools.com/tags/ref_colornames.asp]] All modern browsers (and TW5!) support the following 140 color names (case insensitive!): <<< ''Example:'' ``` @@color:white;background-color:red;This is white text on a red background@@ ``` renders as: @@color:white;background-color:red;This is white text on a red background@@ <<< |Color Name |HEX |Color |h |AliceBlue |#F0F8FF |<<colorbar #F0F8FF>> | |AntiqueWhite |#FAEBD7 |<<colorbar #FAEBD7>> | |Aqua = Cyan |#00FFFF |<<colorbar #00FFFF>> | |Aquamarine |#7FFFD4 |<<colorbar #7FFFD4>> | |Azure |#F0FFFF |<<colorbar #F0FFFF>> | |Beige |#F5F5DC |<<colorbar #F5F5DC>> | |Bisque |#FFE4C4 |<<colorbar #FFE4C4>> | |Black |#000000 |<<colorbar #000000>> | |BlanchedAlmond |#FFEBCD |<<colorbar #FFEBCD>> | |Blue |#0000FF |<<colorbar #0000FF>> | |BlueViolet |#8A2BE2 |<<colorbar #8A2BE2>> | |Brown |#A52A2A |<<colorbar #A52A2A>> | |BurlyWood |#DEB887 |<<colorbar #DEB887>> | |CadetBlue |#5F9EA0 |<<colorbar #5F9EA0>> | |Chartreuse |#7FFF00 |<<colorbar #7FFF00>> | |Chocolate |#D2691E |<<colorbar #D2691E>> | |Coral |#FF7F50 |<<colorbar #FF7F50>> | |CornflowerBlue |#6495ED |<<colorbar #6495ED>> | |Cornsilk |#FFF8DC |<<colorbar #FFF8DC>> | |Crimson |#DC143C |<<colorbar #DC143C>> | |Cyan = Aqua |#00FFFF |<<colorbar #00FFFF>> | |DarkBlue |#00008B |<<colorbar #00008B>> | |DarkCyan |#008B8B |<<colorbar #008B8B>> | |DarkGoldenRod |#B8860B |<<colorbar #B8860B>> | |DarkGray / ~DarkGrey |#A9A9A9 |<<colorbar #A9A9A9>> | |DarkGreen |#006400 |<<colorbar #006400>> | |DarkKhaki |#BDB76B |<<colorbar #BDB76B>> | |DarkMagenta |#8B008B |<<colorbar #8B008B>> | |DarkOliveGreen |#556B2F |<<colorbar #556B2F>> | |DarkOrange |#FF8C00 |<<colorbar #FF8C00>> | |DarkOrchid |#9932CC |<<colorbar #9932CC>> | |DarkRed |#8B0000 |<<colorbar #8B0000>> | |DarkSalmon |#E9967A |<<colorbar #E9967A>> | |DarkSeaGreen |#8FBC8F |<<colorbar #8FBC8F>> | |DarkSlateBlue |#483D8B |<<colorbar #483D8B>> | |DarkSlateGray / ~DarkSlateGrey |#2F4F4F |<<colorbar #2F4F4F>> | |DarkTurquoise |#00CED1 |<<colorbar #00CED1>> | |DarkViolet |#9400D3 |<<colorbar #9400D3>> | |DeepPink |#FF1493 |<<colorbar #FF1493>> | |DeepSkyBlue |#00BFFF |<<colorbar #>> | |DimGray / ~DimGrey |#696969 |<<colorbar #696969>> | |DodgerBlue |#1E90FF |<<colorbar #1E90FF>> | |FireBrick |#B22222 |<<colorbar #B22222>> | |FloralWhite |#FFFAF0 |<<colorbar #FFFAF0>> | |ForestGreen |#228B22 |<<colorbar #228B22>> | |Fuchsia / Magenta |#FF00FF |<<colorbar #FF00FF>> | |Gainsboro |#DCDCDC |<<colorbar #DCDCDC>> | |GhostWhite |#F8F8FF |<<colorbar #F8F8FF>> | |Gold |#FFD700 |<<colorbar #FFD700>> | |GoldenRod |#DAA520 |<<colorbar #DAA520>> | |Gray / Grey |#808080 |<<colorbar #808080>> | |Green |#008000 |<<colorbar #008000>> | |GreenYellow |#ADFF2F |<<colorbar #ADFF2F>> | |HoneyDew |#F0FFF0 |<<colorbar #F0FFF0>> | |HotPink |#FF69B4 |<<colorbar #FF69B4>> | |IndianRed |#CD5C5C |<<colorbar #CD5C5C>> | |Indigo |#4B0082 |<<colorbar #4B0082>> | |Ivory |#FFFFF0 |<<colorbar #FFFFF0>> | |Khaki |#F0E68C |<<colorbar #F0E68C>> | |Lavender |#E6E6FA |<<colorbar #E6E6FA>> | |LavenderBlush |#FFF0F5 |<<colorbar #FFF0F5>> | |LawnGreen |#7CFC00 |<<colorbar #7CFC00>> | |LemonChiffon |#FFFACD |<<colorbar #FFFACD>> | |LightBlue |#ADD8E6 |<<colorbar #ADD8E6>> | |LightCoral |#F08080 |<<colorbar #F08080>> | |LightCyan |#E0FFFF |<<colorbar #E0FFFF>> | |LightGoldenRodYellow |#FAFAD2 |<<colorbar #FAFAD2>> | |LightGray / ~LightGrey |#D3D3D3 |<<colorbar #D3D3D3>> | |LightGreen |#90EE90 |<<colorbar #90EE90>> | |LightPink |#FFB6C1 |<<colorbar #FFB6C1>> | |LightSalmon |#FFA07A |<<colorbar #FFA07A>> | |LightSeaGreen |#20B2AA |<<colorbar #20B2AA>> | |LightSkyBlue |#87CEFA |<<colorbar #87CEFA>> | |LightSlateGray / ~LightSlateGrey |#778899 |<<colorbar #778899>> | |LightSteelBlue |#B0C4DE |<<colorbar #B0C4DE>> | |LightYellow |#FFFFE0 |<<colorbar #FFFFE0>> | |Lime |#00FF00 |<<colorbar #00FF00>> | |LimeGreen |#32CD32 |<<colorbar #32CD32>> | |Linen |#FAF0E6 |<<colorbar #FAF0E6>> | |Magenta / Fuchsia |#FF00FF |<<colorbar #FF00FF>> | |Maroon |#800000 |<<colorbar #800000>> | |MediumAquaMarine |#66CDAA |<<colorbar #66CDAA>> | |MediumBlue |#0000CD |<<colorbar #0000CD>> | |MediumOrchid |#BA55D3 |<<colorbar #BA55D3>> | |MediumPurple |#9370DB |<<colorbar #9370DB>> | |MediumSeaGreen |#3CB371 |<<colorbar #3CB371>> | |MediumSlateBlue |#7B68EE |<<colorbar #7B68EE>> | |MediumSpringGreen |#00FA9A |<<colorbar #00FA9A>> | |MediumTurquoise |#48D1CC |<<colorbar #48D1CC>> | |MediumVioletRed |#C71585 |<<colorbar #C71585>> | |MidnightBlue |#191970 |<<colorbar #191970>> | |MintCream |#F5FFFA |<<colorbar #F5FFFA>> | |MistyRose |#FFE4E1 |<<colorbar #FFE4E1>> | |Moccasin |#FFE4B5 |<<colorbar #FFE4B5>> | |NavajoWhite |#FFDEAD |<<colorbar #FFDEAD>> | |Navy |#000080 |<<colorbar #000080>> | |OldLace |#FDF5E6 |<<colorbar #FDF5E6>> | |Olive |#808000 |<<colorbar #808000>> | |OliveDrab |#6B8E23 |<<colorbar #6B8E23>> | |Orange |#FFA500 |<<colorbar #FFA500>> | |OrangeRed |#FF4500 |<<colorbar #FF4500>> | |Orchid |#DA70D6 |<<colorbar #DA70D6>> | |PaleGoldenRod |#EEE8AA |<<colorbar #EEE8AA>> | |PaleGreen |#98FB98 |<<colorbar #98FB98>> | |PaleTurquoise |#AFEEEE |<<colorbar #AFEEEE>> | |PaleVioletRed |#DB7093 |<<colorbar #DB7093>> | |PapayaWhip |#FFEFD5 |<<colorbar #FFEFD5>> | |PeachPuff |#FFDAB9 |<<colorbar #FFDAB9>> | |Peru |#CD853F |<<colorbar #CD853F>> | |Pink |#FFC0CB |<<colorbar #FFC0CB>> | |Plum |#DDA0DD |<<colorbar #DDA0DD>> | |PowderBlue |#B0E0E6 |<<colorbar #B0E0E6>> | |Purple |#800080 |<<colorbar #800080>> | |RebeccaPurple |#663399 |<<colorbar #663399>> | |Red |#FF0000 |<<colorbar #FF0000>> | |RosyBrown |#BC8F8F |<<colorbar #BC8F8F>> | |RoyalBlue |#4169E1 |<<colorbar #4169E1>> | |SaddleBrown |#8B4513 |<<colorbar #8B4513>> | |Salmon |#FA8072 |<<colorbar #FA8072>> | |SandyBrown |#F4A460 |<<colorbar #F4A460>> | |SeaGreen |#2E8B57 |<<colorbar #2E8B57>> | |SeaShell |#FFF5EE |<<colorbar #FFF5EE>> | |Sienna |#A0522D |<<colorbar #A0522D>> | |Silver |#C0C0C0 |<<colorbar #C0C0C0>> | |SkyBlue |#87CEEB |<<colorbar #87CEEB>> | |SlateBlue |#6A5ACD |<<colorbar #6A5ACD>> | |SlateGray / ~SlateGrey |#708090 |<<colorbar #708090>> | |Snow |#FFFAFA |<<colorbar #FFFAFA>> | |SpringGreen |#00FF7F |<<colorbar #00FF7F>> | |SteelBlue |#4682B4 |<<colorbar #4682B4>> | |Tan |#D2B48C |<<colorbar #D2B48C>> | |Teal |#008080 |<<colorbar #008080>> | |Thistle |#D8BFD8 |<<colorbar #D8BFD8>> | |Tomato |#FF6347 |<<colorbar #FF6347>> | |Turquoise |#40E0D0 |<<colorbar #40E0D0>> | |Violet |#EE82EE |<<colorbar #EE82EE>> | |Wheat |#F5DEB3 |<<colorbar #F5DEB3>> | |White |#FFFFFF |<<colorbar #FFFFFF>> | |WhiteSmoke |#F5F5F5 |<<colorbar #F5F5F5>> | |Yellow |#FFFF00 |<<colorbar #FFFF00>> | |YellowGreen |#9ACD32 |<<colorbar #9ACD32>> |
\import exmp103/macro/combo-search ;Idea : have a searchbox which lets you to perform both standard search (only in title, caption, text) and filter search ;Use case : one searchbox and do both standard and filter search <<docit>> !! Code <<code-link exmp103/macro/combo-search>> !! Example <$macrocall $name="wikitext-example-without-html" src="""<<combo-search>> """/>
There are several tiddlers named as `demo/exmp027/title `. Use `$list` widget and create a list of comma separated titles with links.
<$macrocall $name="wikitext-example-without-html"
src="""
<$list filter='[tag[exmp027]butlast[]]'><$link><$text text={{{ [<currentTiddler>removeprefix[demo/exmp027/]] }}} /></$link>, </$list>
<$list filter='[tag[exmp027]last[]]'><$link><$text text={{{ [<currentTiddler>removeprefix[demo/exmp027/]] }}} /></$link> </$list>
"""/>
!! Remarks
* The `butlast` operator, selects all tiddlers and leave the last one unselected.
* The `last` operator, selects the last item in the list
* The result are shown with no prefix `demo/exmp027/`
* Note to the comma `,` in the first `$list`. The reason for using two `$list` widgets here is to create a comma separated list of title. There is no comma after the last item.
* Tiddlers belong to this demo are tagged with <<tag exmp027>>
<<alert primary width:50% src:"Note: The original [[post|https://groups.google.com/d/msg/tiddlywiki/PiUwdVpdyzQ/OwsKmr6TEgAJ]] has been revised.<br>This is an example of using `last` and `butlast` operator.">>
<<docit>>
```
\define is-Tiddlers-text-equal(TidA, TidB)
<$set name="tidAText" value={{{ [[$TidA$]get[text]] }}}>
<$set name="tidBText" value={{{ [[$TidB$]get[text]] }}}>
<$reveal type="match" default=<<tidAText>> text=<<tidBText>>>Equal</$reveal>
<$reveal type="nomatch" default=<<tidAText>> text=<<tidBText>>>NotEqual</$reveal>
</$set>
</$set>
\end
```
; How to make a simply comparison between two variables or one variable and a fields content?
: The answer is using `reveal` widget.
!! Simple reveal example
Normally, the `reveal` widget is used to compare a "text" value with a value stored in the text field of a specified "state" tiddler, like this:
```
<$reveal type="match" state="$:/state/SampleReveal1" text="show">
show this if state tiddler content matches text param
</$reveal>
```
!! Use default attribute
However, there is an alternative syntax that allows comparisons between any two values: while the "state" param can only use an implied reference to the "text" field of a specified tiddler, the "default" param can use //ANY literal//, field or variable reference. Simply //OMIT// the "state" param and use the "default" param in it's place, like this:
```
<$reveal type="match" default={{sometiddler!!somefield}} text="show">
show this if some field in some tiddler matches text param
</$reveal>
```
or
```
<$reveal type="match" default=<<somevariable>> text="show">
show this if somevariable matches text param
</$reveal>
```
!! Compare any two variables
Since the "text" param also can use ANY //field// or //variable// reference, you can use `reveal` to compare any two variables, like this:
```
<$reveal type="match" default=<<somevariable>> text=<<someOtherVariable>>>
show this if somevariable value matches someOtherVariable
</$reveal>
```
!! Complex cases
You can use any of the valid "type" values to make the comparison, including the recently added `LT`, `GT`, `LTEQ` and `GTEQ` types.
For example, if you have some "task tiddlers" tagged with "todo" OR "done", you could display conditional output this way:
```
<$set name="todo" filter="[tag[todo]count[]]">
<$set name="done" filter="[tag[done]count[]]">
<$reveal type="match" default=<<todo>> text="0"> There is nothing to do. </$reveal>
<$reveal type="nomatch" default=<<todo>> text="0">
<$reveal type="match" default=<<done>> text="0"> You haven't started. </$reveal>
<$reveal type="LT" default=<<todo>> text=<<done>>> You're making progress... keep going! </$reveal>
<$reveal type="match" default=<<todo>> text=<<done>>> You're half way there... take a short break </$reveal>
<$reveal type="GT" default=<<todo>> text=<<done>>> You've done a lot... but there's still some left </$reveal>
</$reveal>
</$set>
</$set>
```
<<docit>>
Stefan Pfister a fiction story writer asked how can I create a long big fixed version of narration by concatenating the text of all related tiddlers? The purpose is to have a final pdf or raw text to be exported to some publication / layout software.
# <div>
First, we need some wiki syntax for generating the desired output. Something like this:
```
<$list filter="[tag[About]]"><$text text={{!!text}}/></$list>
```
</div>
# <div>
Next, we can //capture// that output to a variable, using the `<$wikify>` widget:
```
<$wikify name="out" text="""<$list filter="[tag[About]]"><$text text={{!!text}}/></$list>""">
<<out>>
</$wikify>
```
</div>
# <div>
Then, wrap that in a button so we can trigger an action to save the output to a tiddler instead of directly rendering the output:
```
<$button> CLICK ME
<$wikify name="out" text="""<$list filter="[tag[About]]"><$text text={{!!text}}/></$list>""">
<$action-setfield $tiddler="JoinedOutput" text=<<out>> />
</$wikify>
</$button>
```
</div>
# <div>
Finally, for convenient re-use, wrap the entire button in a macro definition, and replace the literal values with macro parameter references.
```
\define join(label,tag,target)
<$button> $label$
<$wikify name="out" text="""<$list filter="[tag[$tag$]]"><$text text={{!!text}}/></$list>""">
<$action-setfield $tiddler="$target$" text=<<out>> />
</$wikify>
</$button>
\end
```
and call it like below
```
<<join "CLICK ME" "About" "JoinedOutput">>
```
; How to hardcopy the contents of several tiddlers in one tiddler?
Sometimes it is rquired to concatenate the contents of several tiddlers into one anothere tiddler to get the final fixed form of contents. The below is one solution is given by {{!!responder}}.
#<div>
First, we need some wiki syntax for generating the desired output. Something like this:
```
<$list filter="[tag[About]]"><$text text={{!!text}}/></$list>
```
</div>
#<div>
Next, we can 'capture' that output to a variable, using the `<$wikify>` widget:
```
<$wikify name="out" text="""<$list filter="[tag[About]]"><$text text={{!!text}}/></$list>""">
<<out>>
</$wikify>
```
</div>
#<div>
Then, wrap that in a button so we can trigger an action to save the output to a tiddler instead of directly rendering the output:
```
<$button> CLICK ME
<$wikify name="out" text="""<$list filter="[tag[About]]"><$text text={{!!text}}/></$list>""">
<$action-setfield $tiddler="JoinedOutput" text=<<out>> />
</$wikify>
</$button>
```
</div>
# <div>
Finally, for convenient re-use, wrap the entire button in a macro definition, and replace the literal values with macro parameter references
```
\define join(label,tag,target)
<$button> $label$
<$wikify name="out" text="""<$list filter="[tag[$tag$]]"><$text text={{!!text}}/></$list>""">
<$action-setfield $tiddler="$target$" text=<<out>> />
</$wikify>
</$button>
\end
<<join "CLICK ME" "About" "JoinedOutput">>
```
</div>
!! See also
* [[Export a List of Tiddlers]]
* [[Thomas Elmiger solution for Readers and Writers|https://tid.li/tw5/test/concept.html]]
There are some methods by Jed Carty explain ho to concatenate. One example is below. MOre example can be found in the address above.
```
\define getAddress()
http://www.principiadiscordia.com/book/$(page)$.php
\end
<$select field='test_field'>
<$list filter="1 2 3 4 5 6 7 8 9 10 45 81">
<option><<currentTiddler>></option>
</$list>
</$select>
<$set name=page value={{!!test_field}}>
<a href=<<getAddress>> target="_blank">go to page {{!!test_field}}</a>
</$set>
```
More on concatenation:
# [[Tiddlywiki|https://tiddlywiki.com/#Concatenating%20text%20and%20variables%20using%20macro%20substitution]]
#
The content of the `<$view>` widget is displayed if the field or property is missing or empty. For example, see the below example. If the caption field is missing or empty, then the title will be shown if not, the caption will be shown. <<wikitext-example-without-html """<$view field="caption"> <$view field="title"></$view> </$view>""" >> !! Remarks There are two widgets in TW which act the same way, e.g. * view widget * transclude widget The content inside of the `<$view>` or `<$transclude>` widget is displayed if the field or property is missing or empty. For more information see [[Mario note|https://groups.google.com/d/msg/tiddlywiki/wonkEPdODbc/dGw9RT08AAAJ]]. <<alert info "The below example and discussion reveals more insights into the conditional output<br> [[More on Conditional Output]]">>
; How display conditionally the content of any tiddler tagged with `erlang_code` as a code with a compile button?
: A conditional viewtemplate, a stylesheet is needed as described below
#<div>
Create a tiddler tagged with `$:/tags/Viewtemplate` contains what is planned to be displayed conditionally, here it is planned to show a button and its text as a code.
```
<$list filter="[is[current]tag[erlang_code]]">
<button>Compile</button>
<pre>{{!!text}}</pre>
</$list>
```
</div>
#<div>
Here there is a problem. It is that the custom ViewTemplate doesn't ''replace'' the standard view... it //ADDS// to it to the end of the standard view. Thus, you see the tiddler content twice: first as standard wikitext output (the normal tiddler display) then followed by your custom-formatted output.
To get the results you want, you need to suppress the standard output... but only when the tiddler is tagged "erlang_code".
One quick way to achieve this is to use CSS to hide the standard tiddler "body" element. Just put the following CSS into a tiddler tagged with `$:/tags/Stylesheet`:
```
[data-tags*="erlang_code"] .tc-tiddler-body { display:none; }
```
</div>
#<div>
Now create any tiddler you want and tag it with `erlang_code` and see the result. An example is given here.
<<list-links "[tag[exmp016]] -[<currentTiddler>]">>
</div>
How to consolitate the current story to default?
the below button makes all the open tiddlers in story river as defult tiddlers.
```
<$set name="myStory" filter="[list[$:/StoryList]!tag[excludeStory]] -[[$:/core/ui/ControlPanel]]">
<$button tooltip="set the default tiddlers to the current story">{{$:/core/images/save-button}} Story to Default
<$action-setfield $tiddler="$:/DefaultTiddlers" $value=<<myStory>>/>
</$button>
</$set>
```
\define actions()
<$wikify name="content" text={{HelloThere}}>
<$action-sendmessage $message="tm-copy-to-clipboard" $param=<<content>>/>
</$wikify>
\end
;How to copy the result of wikified text into clipboard?
:Here's one way to do it. It's a classic application of the wikify widget: we need access to the wikified text of a tiddler, rather than its raw text.
!! Solution
The below macro to copy the wikified text of `HelloThere` tiddler to clipboard.
<<show-macro>>
!! Example
The below button uses the above macro to copy the wikified text of `HelloThere`
```
<$button actions=<<actions>> >
Copy to clipboard
</$button>
```
!! Remarks
Note how the actions are placed in a separate action string to avoid having to do the wikification until it is required (if it was within the button widget then the wikify widget would be re-evaluated each time the store changes).
; How to count items in a tiddler field? :Use the `count` widget and `list` operator !! Example Count the number of phrases (words) in the field of `keywords` of tiddlers tagged with solution. Show the results for the first five tiddlers <$macrocall $name="wikitext-example-without-html" src="""><$list filter="[tag[solution]limit[5]]"> <$link to=<<currentTiddler>>><$text text=<<currentTiddler>>/></$link>: <$count filter="[list[!!keywords]]" /> keywords<br> </$list> """/> !! Remarks * The `list` widget with `tag[soloution]` filter finds tiddlers tagged with solution * The `limit[5]` only shows the output for first 5 tiddlers tagged with solution * The count widget counts the number of items in the `keywords` field of current tiddler using the `list` operator (`list[!!keywords]`) * The output is displayed as link to each tiddler with the number of items. * Note that if there is duplicate items, count considers them as one. See [[dominant append|https://tiddlywiki.com/#Dominant%20Append]] <<alert infor "Note how count widget uses a list operator to count the number of items `[!!field-name]`.">> !! More information * [[List operator|https://tiddlywiki.com/#list%20Operator]]
; How create a borderless table?
: <div>
Create a tiddler tagged with `$:/tags/Stylesheet` and put the below css code inside it.
```css
.borderless,
.borderless table,
.borderless td,
.borderless tr,
.borderless th,
.borderless tbody
{ border:0 !important; }
}
```
Then create your borderless table using the above class like below
```
@@.borderless
|a|b|
|c|d|
@@
```
! Example
The below code shows a sample borderless
<$macrocall $name="wikitext-example-without-html"
src="""<style>
.borderless,
.borderless table,
.borderless td,
.borderless tr,
.borderless th,
.borderless tbody
{ border:0 !important; }
}
</style>
@@.borderless
|col1|col2|col3|col4|h
|a|b|12|red|
|c|d|256|green|
|Table 1. This is the caption|c
@@
"""/>
; How to create a table from a list of tiddlers which is sorted first by value of field 1 and then sort the rsult by value of field 2?
: This is called a doubly sorted list and can be done using a nested `$list` widget
!! Example
Assume there is a list of tiddlers contain the biblography data of some ebooks as below
* tiddler `title`: ebook title
* `vendor` field: publisher name
* `author` field: ebook author name
Create a table contains ebook data sorted //first// in `vendor` name and //second// in `author` name.
```
<table>
<$list filter="[tag[ebook]has[vendor]each[vendor]get[vendor]sort[]]" variable="publisherName">
<$list filter="[tag[ebook]has[vendor]field:vendor<publisherName>sort[author]]" variable="bookName">
<tr>
<td>
<$link to={{!!title}}><$view tiddler=<<bookName>> field="title"/></$link>
</td>
<td>
<$view tiddler=<<bookName>> field='author'/>
</td>
<td>
<$view tiddler=<<bookName>> field='vendor'/>
</td>
</tr>
</$list>
</$list>
</table>
```
!! Remarks
The first `$list` filter:
* Gets a list of all my books (tagged //ebook//)
* Looks at the `vendor` field and gets a list of vendors using the `get` operator
** Since the `get` operator is one of the few operators that allow duplicates, it is possible to have the same `vendor` listed multiple times in the list created
* So first use the `each` operator to ensure unique items (vendors).
* Then this list of all vendors is sorted by the vendor's name
The second `$list` filter will then runs for every `vendor` in the list created by the first `$list`
* For the first item - which is the first vendor's name
** It first gets a list of all the books (tagged //ebook//)
** Then looks at the `vendor` field - selects the ones that match this first `vendor`
** Then sorts those by the `author` field
* Then it does that for the 2nd author in the list provided by the first `$list` filter
* . . . and so on for all the vendors one by one as provided by the first `$list` filter.
!! More info
See [[Example 57: Doubly Sorted Table]]
Also see [[List by Tag but Sort and Show by Field Value]]
Three solution has been provided
!!! Diego Mesa:uUsing Evan's forumla range
<<<
If you dont want the full formula plugin, you can also just use Evan' range operator directly:
http://evanbalster.com/tiddlywiki/formulas.html#%24%3A%2Fplugins%2Febalster%2Fformula%2Ffilters%2Frange.js
<<<
!!! Jed Carty ''numb'' macro using list
<<<
```
title: $:/macro/numb
tags: $:/tags/Macro
list: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
\define numb(n:10 format:"<<currentTiddler>> ") <$list filter='[enlist{$:/macro/numb!!list}first[$n$]]'>$format$</$list>
```
<<<
!!! BTC solution using list
<<<
* Use the Evan's formula plugin
This feature has been included in TW 5.1.18 core.
```
<$list filter="[range[99]]">
do something
</$list>
```
* Use the list widget with a tiddler containing a list of numbers
```
<$list filter="[list[mynumbertiddler]limit[mylimit]]">
do something
</$list>
```
<<<
The examples and codes by this methods are given in:
<<list-links "[tag[100.02]]">>
;How create a new tiddler, with the following specification?
# Its full title is `$:/long/address/to/tiddler/UserInput`
# The last part of title e.g. `UserInput` is given through an input box (`edit-text` widget)
# The caption is the same as `UserInput`
!! Solution
<$macrocall $name="wikitext-example-without-html"
src="""<$edit-text tag="input" tiddler="$:/temp/getname" default="" />
<$button> Click me!
<$wikify name="target" text="$:/long/address/to/tiddler/{{$:/temp/getname}}">
<$action-sendmessage $message="tm-new-tiddler" $param=<<target>>
tags="searcher" caption={{$:/temp/getname}} text={{$:/some/tiddler}}/>
</$wikify>
</$button>
"""/>
!! Remarks
# An `$edit-text` widget gets the user input and puts it in a temporary tiddler [[$:/temp/getname]].
# The `$wikify` widget is used to combine static text with the value from the temporary tiddler (concatenate).
# The value of the resulting `target` variable is used as the `$param` for the new tiddler title.
# The value from the temporary tiddler is also used as the caption text for the new tiddler.
; What is the simplest solution to have a button creates a comment tiddler for current tiddler?
: Using `action-create` widget and `action-navigate` widget, it is possibe to do that.
!! Solution
```
<$button> Click to make a comment
<$action-createtiddler
$basetitle="comment"
$savetitle="$:/temp/commentName"
relationship="comment"
parent=<<currentTiddler>>
/>
<$action-navigate
$to= {{$:/temp/commentName}}
/>
</$button>
```
!! Alternative solution
A revised version of above code is given below in that the actions are encapsulated in a macro and the title of parent tiddler is added to title of comment tiddler.
```
\define mytitle() comment on {{!!title}}
\define create-commentTid()
<$wikify name="ctitle" text=<<mytitle>> >
<$action-createtiddler
$basetitle=<<ctitle>>
$savetitle="$:/temp/commentName"
relationship="comment"
parent=<<currentTiddler>>
/>
<$action-navigate
$to= {{$:/temp/commentName}}
/>
</$wikify>
\end
<$button actions=<<create-commentTid>> >
Click to make a comment
</$button>
```
<<alert danger "Here `$wikify` is used inside `create-commentTid` which is passed to `$button` widget as attribute. This need to be studied from good programming style.">>
\define create-note(tname)
<$set name="myTid" filter="[[$tname$]addsuffix[-math]]" select=0>
<$list filter="[title<myTid>] +[has[title]]"
variable="newTid"
emptyMessage=<<tiddler-not-exist>>
>
<$action-navigate $to=<<newTid>> />
</$list>
</$set>
\end
\define tiddler-not-exist()
<$action-setfield
$tiddler=<<myTid>>
text="Hi, this is a new note"
tags="notes"
/>
<$action-navigate $to=<<myTid>>/>
\end
<$button>
Test
<<create-note "Bob Joe">>
</$button>
!! A working version
```
\define create-note(tname)
<$set name="myTid" filter="[[$tname$]addsuffix[-math]]" select=0>
<$list filter="[title<myTid>] +[has[title]]"
variable="newTid"
emptyMessage=<<tiddler-not-exist>>
>
<$action-navigate $to=<<newTid>> />
</$list>
</$set>
\end
\define tiddler-not-exist()
<$action-setfield
$tiddler=<<myTid>>
text="Hi, this is a new note"
tags="notes"
/>
<$action-navigate $to=<<myTid>>/>
\end
<$button>
Test
<<create-note "Bob Joe">>
</$button>
```
!! Notes
<<<
what I changed:
* A typo in the emptyMessage macrocall
* replace `{{{myTid}}}` with `<<myTid>>` and add select=0 to the set widget to prevent it from adding `[[ and ]]` around the output. Using `{{{$(myTid)$}}}` evaluates it as a space separated list so any title with a space would be two (or more) separate things, not a single title.
* remove parent as an input to tiddler-not-exist and remote the unneeded input from the emptyMessage macrocall because it isn't used
<<<
* Alternate solution
<<<
Alternately, this could have fixed it:
* Using `"""$(myTid)$"""` to make a string instead of `{{{$(myTid)$}}}` to evaluate a filter. This is one place that would break if you had a space, `{{{bob joe}}}` is returned as a list with two entries, `"bob"` and `"joe"` where `"""bob joe"""` is a string and can be used as a single title. I am using `"""` because that lets you put `"` and `'` into the title if you want to for some reason and (hopefully) `"""` is less common in titles.
<<<
; Assume you have a folder on Windows drive contains images, how to add these images to wiki as external images? Using an advanced text editor like Emacs, get a list of your images and put it into a format like this: ``` cimg2199.jpg: x cimg2200.jpg: x cimg2201.jpg: x cimg2202.jpg: x ``` Paste this into a tiddler called "MyImages" and change the type to data dictionary. Save the tiddler. Create another tiddler with the following contents: ``` \define gluepath() $(path)$$(image)$ <$set name="path" value="file:///D:\data\graphics\file-us\"> <$button>Make Image Tiddlers <$list filter="[[MyImages]indexes[]]" variable="image"> <$action-createtiddler $basetitle=<<image>> _canonical_uri=<<gluepath>> type="image/jpeg"> </$list> </$button> </$set> ``` Change the "path" variable to whatever address is needed for image directory and system (I used `file:///` but you don't need that for images positioned relative to your system). Click on the "Make Image Tiddlers" button, and a "Image Tiddler" (_canonical_uri based) will be made for each image. You can of course play with this to use other image dictionaries, paths, etc. A similar technque could be used to generate image wikitext if you don't like Image Tiddlers. Note that if you are on windows that you can't use drive names like C: in the data dictionary (that's why I applied the path outside the dictionary). !!! Example See TW-Images there are examples there using this technique
\define mybutton(param)
<$button>
New Tiddler
<$action-sendmessage $message="tm-new-tiddler"
title="Title"
text="some text..."
tags="slide [[$param$]]"
/>
</$button>
\end
How to use tm-new-tiddler and have more than one tag, some are text reference?
: Whenever you need to concatenate strings (as you do with the tags) you almost always need to use a macro.
```
\define mybutton(param)
<$button>
New Tiddler
<$action-sendmessage $message="tm-new-tiddler"
title="Title"
text="some text..."
tags="slide [[$param$]]"
/>
</$button>
\end
```
<$macrocall $name="wikitext-example-without-html"
src="""<$macrocall $name="mybutton" param={{!!title}}/>"""/>
;How to create a new tiddler from within the current tiddler that puts the the parent tiddler's title in the text of the child tiddler? !! Solution Whitin any tiddler, the variable `currentTiddler` refers to itself, so the below code simply does the job. <<show-macro "exmp113/macro/createTid">> ;Remarks :The $button widget creates a button on click triggers the action :The `action-sendmessage` sends the `tm-new-tiddler` to create a new tiddler and open it for edit :The title parameter sets the title of new tiddler to current date with a format like `28th January 2020` :The text parameter puts a link to the parent tiddler :''Note'': the `[[...]]` creates a wikilink and the `$(currentTiddler)$` renders as the title of current tiddler in the macro See [[exmp113/macro/createTid]] for example.
<<docit>>
; How create persistent colorful tags? : When all tiddlers tagged say with myTag which can also have a color deleted, the colorful myTag will not be available. To have a persistent tag create their tiddler separately. !! Example Create a tag with green color for css * Create a tiddler, with title `css` * Add a field with title `color` * Click the color picker in front of color field and select the green color * Save the tiddler That's all. Now the <<tag css>> will be available and will not removed automatically even all tiddlers tagged with `css` deleted.
The below macro was developed by {{!!responder}} for the great [[Archipel]] wiki, in a that D3JS is used for visualization Tiddlywiki contents.
!! Macro pastille
The pastille macro creates small macro and gets its fill color from input tiddler
```
\define pastille(tagName)
<svg width="14" height="14" >
<circle cx="7" cy="7" r="6" stroke="grey" fill={{$tagName$!!color}}/>
</svg>
\end
```
!! Example
There is several examples on [[http://archipel.tiddlyspot.com/#Knowledge%20map%20options]]. One example has given here [[Example 61: Pastille Macro]]
''Double check, seems does not work!''
Assume you want to create tiddlers all tagged with say `myTag` and have unique title with ordinal number.
So
* tiddlers have title like `myTiddler-1`
* tiddlers all tagged with `myTag`
```
\define newTitle() myTiddler-{{{[tag[myTag]count[]add[1]]}}}
\define newTiddler()
<$wikify name="myTitle" text="<<newTitle>>" >
<$action-createtiddler $basetitle=<<myTitle>> tags="myTag" />
</$wikify>
\end
```
Then use it like below
```
<$button actions=<<newTiddler>>>
Create a new tiddler
</$button>
```
!!! Remarks
* The `wikify` widget, calls newTitle macro, creates a new title using filter transclusion and store it in myTitle variable.
* The `action-createtiddler` creates a new tiddler using myTitle and myTag.
!! Issues and solution
[[Thomas Elmiger|https://groups.google.com/d/msg/tiddlywiki/3_Xacb7H1p0/KSYPzQguAQAJ]] states that if some tiddlers deleted in this between, the above code may overwrite the previous ones. Assume you have myTiddler-1, myTiddler-2, and myTiddler-3. Now you delete myTiddler-2 abd then create another, the current code sees there is two tiddler, so it creates the next and overwrite myTiddler-3.
!!! Solution
* If myTiddler-2 deleted, the code will create myTiddler-3 1. So there is no risk to overwrite
* To overcome this issue, the below recursive macro take cares of this issue as below
```
\define newTitle() myTiddler-{{{[tag[myTag]count[]add[$(inc)$]]}}}
\define newTiddler(n:0)
<$set name="inc" value={{{ [<__n__>add[1]] }}}>
<$wikify name="myTitle" text="<<newTitle>>" >
<$list filter="[<myTitle>] +[!has[title]]"
emptyMessage=""" <$macrocall $name="newTiddler" n=<<inc>> /> """>
<$action-createtiddler $basetitle=<<myTitle>> tags="myTag" />
</$list>
</$wikify>
</$set>
\end
<$button actions=<<newTiddler>>>
Create a new tiddler
</$button>
```
!!! Remarks
* The newTiddler macro check if the tiddler is going to created is existed or not. It uses the `list` widget for this purpose.
* If the tiddler is existed, it calls itself with n icremented by one. This is done by emptyMessage part of `list` widget.
* The newTiddler macro calls itself as many as time to find a sequence number not in use and then creates the tiddler.
!!! Solution iii
[[Mal|https://groups.google.com/d/msg/tiddlywiki/3_Xacb7H1p0/6LqGKyVmAQAJ]] has proposed using zero padded number. A revised version of zero padded number (assuming 3 digits) is given below.
```
\define newTitle() myTiddler-{{{[tag[myTag]count[]add[1]addprefix[0000]split[]last[3]join[]]}}}
\define newTiddler()
<$wikify name="myTitle" text="<<newTitle>>" >
<$action-createtiddler $basetitle=<<myTitle>> tags="myTag" />
</$wikify>
\end
```
See this method in action: [[Example 50: Tiddler Title with Zero Padded Number]].
\define newTid(param:"", btn-caption:"New project", color:"#8058A5")
<$button style="color:$color$; fill:$color$; margin-bottom:5px;">
{{$:/core/images/new-button}} $btn-caption$
<$wikify name="newTitle" text="""{{!!title}}: <<now "YYYY-0MM-0DD hh12:0mmpm">>""">
<$action-sendmessage $message="tm-new-tiddler"
title=<<newTitle>>
text="..."
tags="[[$param$]]"
/>
</$wikify>
</$button>
\end
Given a tiddler called "Tiddler X", how to include a button it that to create a new tiddler called "Tiddler X: and the current date time"
* Create a macro to do the job
```
\define newTid(param:"", btn-caption:"New project", color:"#8058A5")
<$button style="color:$color$; fill:$color$; margin-bottom:5px;">
{{$:/core/images/new-button}} $btn-caption$
<$wikify name="newTitle" text="""{{!!title}}: <<now "YYYY-0MM-0DD hh12:0mmpm">>""">
<$action-sendmessage $message="tm-new-tiddler"
title=<<newTitle>>
text="..."
tags="[[$param$]]"
/>
</$wikify>
</$button>
\end
```
* Example
> `<<newTid param:"$(currentTiddler)$">>`
Here macro is called by text substitution e.g `$(currentTiddler)$`
<<newTid param:"$(currentTiddler)$">>
<<alert info width:"60%" """''Note'': In a thread [[Jeremy Ruston|https://groups.google.com/d/msg/tiddlywiki/glQhVBccv2k/ACBF8e2CAAAJ]] pointed out that //text substitution// like above is rarely the best way to do things. Another solution is to call macro using macrocall widget as shown below.
""">>
```
<$macrocall $name="newTid" param=<<currentTiddler>> />
```
<$button> <$action-sendmessage $message="tm-new-tiddler" title="This is newly created tiddler" tags="OneTag [[Another Tag]]" text=<<now "Today is DDth, MMM YYYY">>/> 使用~TiddlyWiki Widgets创建Tiddler </$button>
默认情况下,TiddlyWiki 在加载时,显示空白画面。如果您愿意,可以在维基加载时,增加一个特殊的 "启动画面"。
为了在 TiddlyWiki 初始化之前,显示启动画面,它将当作静态 HTML/CSS 嵌入到 TiddlyWiki HTML 文件中。这是通过 [[SystemTag: $:/tags/RawMarkupWikified/TopBody]] 完成的。
另一个在维基完成加载时,删除启动画面,HTML 应该包含在一个带有特殊类 `tc-remove-when-wiki-loaded` 的容器中。一旦维基加载,核心将自动删除具有此类的任何 DOM 元素。
这是一个简单的启动画面示例,只显示文本 //加载中...//。要使用它,将文本复制到一个新的条目,设其类型 `text/plain` 和标签 `$:/tags/RawMarkupWikified/TopBody`:
```
<div class="tc-remove-when-wiki-loaded">
加载中...
</div>
```
如果条目被赋予维基文本类型 `text/vnd.tiddlywiki` ,那么在保存文件时,维基化内容,允许进行转换等。例如,这是一个在加载消息中,引用网站标题的示例。要使用它,将文本复制到一个新的条目,设其类型 `text/vnd.tiddlywiki` 和标签 `$:/tags/RawMarkupWikified/TopBody`:
```
\rules only filteredtranscludeinline transcludeinline
<div class="tc-remove-when-wiki-loaded">
{{$:/SiteTitle}} 加载中,请稍候
</div>
```
`\rules` 指令用于限制被识别为两种内联转换形式的维基文本语法。这避免了对条目内容的意外破坏。
使用 CSS 动画和在此维基中配置的图像,有一个更复杂的示例启动画面:请参阅 $:/SplashScreen
<style>
.quote {
display: inline-block;
margin: 1em;
overflow: hidden;
}
.quote blockquote {
background-color: #fff;
border: solid 2px #757575;
display: inline-block;
margin: 0;
padding: 1em;
position: relative;
}
.quote blockquote:before {
background-color: #fff;
bottom: -10%;
content: "";
left: 0;
position: absolute;
right: 0;
top: -10%;
transform: rotate(-15deg) skew(5deg);
}
.quote blockquote cite {
display: block;
font-style: italic;
text-align: right;
}
.quote blockquote cite:before {
content: "- ";
}
.quote blockquote > * {
position: relative;
z-index: 1;
}
</style>
<div class="quote">
<blockquote>
<p>Ever tried. Ever failed. No matter.<br>Try again. Fail again. Fail better.</p>
<cite>Samuel Beckett</cite>
</blockquote>
</div>
;How to change the color and fonts of bullets and number in list?
: Use `::marker` pseudo element if browser support or use the below method
<<wikitext-example-without-html
src:"""<style>
.nomarker {color: red; font-weight:900}
.nomarker span {color: #999; font-weight:normal}
</style>
<ol class="nomarker">
<li><span>Item One</span></li>
<li><span>Item Two</span></li>
<li><span>Item Three</span></li>
</ol>
<ul class="nomarker">
<li><span>Item One</span></li>
<li><span>Item Two</span></li>
<li><span>Item Three</span></li>
</ul>
""">>
More info:
*https://www.smashingmagazine.com/2019/07/css-lists-markers-counters/
* https://css-tricks.com/style-list-markers-css/
!! How to change the background color of tiddler title?
* Create a new tiddler tagged with `$:/tags/Stylesheet`
* Put the below css inside (yellow color used as an example)
```css
.tc-title {
background: yellow;
}
```
The above css uses yellow backgroud. You can change other properties of `tc-title`.
!! How to change the background color of non-system tiddler title only?
System tiddlers (prefixed `$:/`) do have a class definition on the "tiddler" level. `... tc-tiddler-system`
So if you style `tc-title` for every tiddler, you can reset it back for system tiddlers with the code above, using CSS hirarchy.
* Create a new tiddler tagged with `$:/tags/Stylesheet`
* Put the below css inside it
```css
.tc-title {
background: yellow;
}
.tc-tiddler-system .tc-title {
background: initial;
}
```
!! How to change the color of prefix of system tiddler title?
The prefix of system tiddlers (`$:/`) do have a class definition as `... tc-system-title-prefix`. So to change their style do as below
```css
.tc-system-title-prefix {
color: blue;
}
```
The above css uses blue color. You can change other properties of `tc-title`.
How to set a text after tiddler title tagged with say //period//?
For example add word experimental to all tiddlers tagged with `period`.
* Solution
The belwo css uses the `after` selector. Put it in a tiddler tagged with `$:/tags/Stylesheet` and use it. See demo.
```css
[data-tags*="period"] .tc-title:after {
content:"experimental";
color:red;
}
```
; Is it valid to have css inside macro, if so which of the two below solution is recommended?
# <div>
''Define inline style''
```
\define vspace(height)
<style>
.vertical-space {
margin-bottom: $height$;
}
</style>
<p class="vertical-space"></p>
\end
```
</div>
# <div>
''Define inline style''
```
\define vspace(height)
<p style="margin-bottom: $height$;"></p>
\end
```
</div>
<<alert primary """
The 2nd approach. When you use `<style>`, the styles "leak" into all the other open tiddlers. Probably OK in this particular use case, but something to be aware of.""" >>
To add your own filters to the list of advanced search filters (drop down menu): # create a new tiddler (e.g. `SomeName`) tagged with `$:/tags/Filter` # add a `description` field containing "My Filter") # add a `filter` field containing `[search:text[MYSEARCHTEXT]]`) # add a `list-before` field (leave it with a blank value) * the tag indicates that this is an entry for the filter drop-down. * the description is the text that appears in the drop-down. * the filter is the text to insert into the filter input field when the drop-down item is selected * the list-before field (with NO value) forces your custom filter to * the top of the list (otherwise it would be at the end of the list)
The above code is, of course, standard HTML with "inline CSS". To use actual TiddlyWiki syntax, you would write: ``` @@display:none; This is hidden text @@ ``` Basically, the `@@... @@` is TiddlyWiki's way of defining a "div" (or a "span") that wraps around a section of content, just like the `<div>...</div>` HTML syntax. The text //immediately// following the opening `@@` and ending with a semi-colon `;` is standard CSS syntax. If, for example, you didn't want to hide the text, but rather, show it with some styling applied, you could write something like: ``` @@color:red; This is some warning text. PAY ATTENTION! @@ ``` You can also string together a sequence of CSS attributes, like this: ``` @@color:red;font-size:400%;border:1px solid red; WARNING! DANGER WILL ROBINSON! @@ ``` As noted above, this is equivalent to ``` <div style="color:red;font-size:400%;border:1px solid red;"> WARNING! DANGER WILL ROBINSON! </div> ``` However, the `<div>` syntax always creates content on a //line by itself//. If you want to do the same styles, but have the content appear "inline", you would use a `<span>...</span>` in place of the `<div>...</div>`, like this: ``` Then, the Robot said, <span style="color:red;font-size:400%;border:1px solid red;">WARNING! DANGER WILL ROBINSON!</span> as it flailed it's tubular arms wildly. ``` and, in TiddlyWiki syntax, this would be written as: ``` Then, the Robot said, @@color:red;font-size:400%;border:1px solid red; WARNING! DANGER WILL ROBINSON!@@ as it flailed it's tubular arms wildly. ``` You can find many excellent CSS technical references online. For example, Mozilla (a browser developer), offers this reference for the CSS "border" syntax: https://developer.mozilla.org/en-US/docs/Web/CSS/border You can use that site (and others like it) to look up lots of CSS goodies that you can then incorporate into your content, using either HTML or TiddlyWiki "wrappers". More information on styles and classes in wikitext is available at:https://tiddlywiki.com/#Styles%20and%20Classes%20in%20WikiText
The editor and preview pan in TW 5.1.18 get new look and feel like rounded corner and shaded color. The below code shows how customize and keep the 5.1.17 setting
* Removing the box-shadow from the editor is just
```
.tc-tiddler-frame.tc-tiddler-edit-frame iframe.tc-edit-texteditor {
box-shadow: none;
}
```
* To remove the border-radius:
```
border-radius: none;
```
* To remove it from the preview:
```
.tc-tiddler-preview-preview {
border-radius: none;
}
```
The Tiddlywiki search results can be customized
The core tiddler does the search and displays the result is: `$:/core/ui/DefaultSearchResultList` as shown below
<pre><$text text={{$:/core/ui/DefaultSearchResultList}} /></pre>
You can change the list filter to something like
```
<$list filter="[!is[system]search:caption{$(searchTiddler)$}sort[caption]limit[250]]">
{{!!caption}}
</$list>
```
* The above list makes search in caption fiels
* The result is sorted based on caption value
* The result limited to 250 item
!! List item template
The search result is displayed using a template tiddler called `$:/core/ui/ListItemTemplate` as shown below
<pre><$text text={{$:/core/ui/ListItemTemplate}} /></pre>
This cal also be customized to show differnt values of tiddler elements like caption, field, title, created, modified, ...
;How change the look and feel of tagpills?
: Use proper stylesheet
The below sample shows how to customize the tagpill. To use it
* create a new tiddler
* tag it with `$:/tags/Stylesheet`
* put the below css as its text field
* save
```css
/*TAG EDITOR AND DROPDOWNS*/
html body.tc-body .tc-block-dropdown-wrapper {width:800px;color:#2200bb;}
html body.tc-body .tc-block-dropdown {width:800px;white-space:normal;color:#2200bb;}
html body.tc-body .tc-block-dropdown a {display: inline-block;color:#2200bb;}
html body.tc-body .tc-block-dropdown svg {height: 1.2em;fill:#ccc;display:inline;color:#2200bb;}
/*TAG LABELS*/
html body.tc-body .tc-tag-label {font-family: 'Arial'; font-size:10pt; color:#2200bb;background-color:#eee;margin-bottom:6px;font-weight: bold;}
html body.tc-body .tc-menu-list-item {font-weight: bold; color:#2200bb;}
```
; How to customize the buttons on editor toolbar?
:Target the `tc-editor-toolbar` element and customize it using CSS
!! Example
Change the color to //crimson// and backgrounds to //lightgrey// of all button on editor toolbar. Use //cyan// for button on hover.
<<wikitext-example-without-html
src:"""<style>
.tc-editor-toolbar button {
fill: crimson;
background-color:lightgrey;
}
.tc-editor-toolbar button:hover{
background-color:cyan;
fill: #000;
}
</style>
Go to edit mode to see how it works!
""">>
!! Remarks
If you want to customize specific button like `H1` do as below
```
.tc-editor-toolbar .tc-image-heading-1 {
background: blue;
fill: red;
}
.tc-editor-toolbar .tc-image-heading-1:hover {
background: green;
fill: yellow;
}
```
> Note that `.tc-image-heading-1` is selector for `H1` button.
See [[Change the Colors of One Editor Toolbar Button]] for more information.
; How to set typed list attribute?
: Use css
If you want to set things globally just create a new stylesheet tiddler with this content and tagged with `$:/tags/Stylesheet`
```
ol li { list-style-type:upper-alpha; }
ol li li { list-style-type:lower-alpha; }
ol li li li { list-style-type:upper-roman; }
```
Using with ordered lists
```
# One
## One-one
## One-two
# Tow
## Two-one
### Two-one-one
### Two-one-two
# Three
```
Will create
```
A. One
a. One-one
b. One-two
B. Tow
a. Two-one
I.Two-one-one
II.Two-one-two
C. Three
```
No extra chars needed. Especially if you need to change something later, you don't need to think about it, which class to use
!! More information
* [[Styleing lists|https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Styling_lists#Bullet_styles]]
* [[list-style-type|https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type#Values]]
> 昭衍新药 > 美迪西 > 凯莱英 > 泰格医药
You can create an n-dash with a double hyphen `--` and an m-dash with a triple hyphen `---`. For example -- this is an example --- and so is this
<div class="tc-table-of-contents"> <<toc-selective-expandable 'DataBase'>> </div>
For the purposes of this style guide, we define the following terms: * property - a name/value pair inside a JSON object. * property name - the name (or key) portion of the property. It is called //index// in Tiddlywiki. * property value - the value portion of the property. It is called the //value// in Tiddlywiki. ``` "propertyName": "propertyValue" ``` <<alert info """The ''name/value'' pair together is a "property".""" width:50%>>
; How to transclude a Value of a DataTiddler Using a Variable?
A reference to a data dictionary index is enclosed in doubled curly braces as below
```
value={{tiddlername##indexname}}
```
Note: If the //tiddlername// portion of the reference is omitted, the reference is to an index in the currentTiddler
```
<$set name="var1" value={{tiddlername##indexname}}>
Here you have access to <<var1>>.
</$set>
```
See also [[Variable as DataTiddler Index]] for more information.
;How to display the date stored in custom field with certain format? On the Tiddlywiki.com the tiddler: [[Date Fields|https://tiddlywiki.com/#Date%20Fields]] tells us: >To avoid problems arising from differences of time zone, TiddlyWiki always uses UTC. The tiddler: [[DateFormat|https://tiddlywiki.com/#DateFormat]] tells us: >[UTC] Time-shift the represented date to UTC. Must be at very start of format string. UTC is Coordinated Universal Time - so a time zone offset is needed for where you are. The extra 8 you used signifies HOURS. Instead this may work: !! Example <<wikitext-example-without-html src:"""><$view field="myfield" format="date" template="[UTC]MMM DD, YYYY"/>""">> You can use dieffenet date format as explained on [[Tiddlywiki.com|https://tiddlywiki.com/#DateFormat]].
HTML definition lists are created with this syntax: <<wikitext-example src:"; Term being defined : Definition of that term ; Another term : Another definition ">>
How to configure `Default tiddlers` to open all recent ordered by date like a blog? In the default tiddlers you can put: ``` [days[-7]!is[system]sort[modified]] ``` where -7 is how many days you want to appear (-7 means last 7 days). This is modified date, which changes whenever you update the tiddler. You can change it to `created` if you want, which is based on when the tiddler is created. The distinction might be important if you need to go back to blog entries and make corrections but don't want their order to change.
How to create a list of tiddlers tagged with say `mytag` having a delete button for each item? So, one can delete items optionally. !! Solution i Inspired by a similar solution By [[Mark S|https://groups.google.com/d/msg/tiddlywiki/ERNELGnH6SY/PX8JKXBcBwAJ]]. List all tiddlers tagged with `Concepts` and dedicate a delete button to each item. <<< ``` <$list filter="[tag[Concepts]]"> <$button message="tm-delete-tiddler" >Delete</$button> <$text text= <<currentTiddler>> /><br/> </$list> ``` <$list filter="[tag[exmp011]]"> <$button message="tm-delete-tiddler" >Delete</$button> <$text text= <<currentTiddler>> /><br/> </$list> <<< !! Solution ii Anthony Muscio proposed a simple solution [[here|https://github.com/kookma/TW-Scripts/issues/1#issue-400568972]]. It uses one button to //delete all tiddlers at once.// ``` <$button> <$list filter="[tag[Concepts]]" variable=tiddlername> <$action-deletetiddler $tiddler=<<tiddlername>>/> </$list> Delete Set </$button> ``` ``` <$button> <$action-deletetiddler $filter="[tag[Concepts]]"/> Delete Set </$button> ``` !! Solution iii Tobias Beer has given a solution inspired [[by posts|https://groups.google.com/d/msg/tiddlywiki/U9GYlwVXp6M/hAtthrlikgUJ]] from [[Stephan Hradek]] and [[Metabele]] to delete tiddlers using a filtered list... See it here [[tb5|https://tobibeer.github.io/tb5/#Deleting%20Tiddlers%20Via%20Lists]]
;How to delete several tiddlers selectively?
:Use a $list widget to display tiddlers and a $checkbox to let select them.
!! Code
```
<$list filter="[all[tiddlers]]">
<$checkbox field="selected" checked="true" unchecked="false">
<$link /><br>
</$checkbox>
</$list>
<$button> delete selected tiddlers
<$list filter="[all[tiddlers]selected[true]]">
<$action-deletetiddler $tiddler=<<currentTiddler>> />
</$list>
<$list filter="[all[tiddlers]selected[false]]">
<$action-deletefield $tiddler=<<currentTiddler>> $field="selected" />
</$list>
</$button>
```
!! Remarks
* the first filter lists all tiddlers, and shows a checkbox for each
* the checkbox adds a field to the listed tiddler: selected=true/false
* the button invokes $action-deletetiddler for each tiddler that has field selected="true"
* the button also invokes $action-deletefield for each tiddler that has field selected="false"
* this is in case you selected a tiddler and then changed your mind and deselected it
;How list and delete tiddlers as below? # Create a list of tiddlers whose titles match some string (simple equality, or even better, regex) # Delete them as a batch ! Solution !! Step i: list tiddlers The below code lists tiddlers their title starts with `Formatting List`. You can use other filter you like. It uses the TW `rexexp` operator. ``` <$list filter="[!is[system]regexp[^Formatting List]]" variable="tidToDelete"> <li> <<tidToDelete>> </li> </$list> ``` !! Step ii: Use a button to delete all tiddlers Copy/paste the filter above into this button: ``` <$button> Delete these tiddlers! <$list filter="PLACE_FILTER_HERE" variable="tidToDelete"> <$action-deletetiddler $tiddler=<<tidToDelete>>/> </$list> </$button> ``` !! See also * [[regexp operator|https://tiddlywiki.com/#regexp%20Operator]] for more information.
How develop a viewtemplate to show a red delete button on tiddlers have a `due` field? ``` <$list filter="[is[current]has[due]]"> <$button message="tm-delete-tiddler" tooltip="delete tiddler" class="tc-btn-invisible"> <span style=background-color:red; class=tc-tag-label>Delete</span> </$button> </$list> ``` It shows a red button. On click it can delete the tiddler. <<alert success width:100% "The code can be used in a tiddler tagged with `$:/tags/ViewTemplate` to show the delete button on all target tiddlers">>
There *is* a way to disable dragability of an element:
The following CSS should disable dragging of all links:
```
a {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-user-drag: none; user-drag: none;
-webkit-touch-callout: none;
}
```
Note: to limit this to just certain links, change the above to:
```
.nodrag a { ... }
```
and then wrap the desired link(s) within .nodrag, like this:
```
@@.nodrag [[SomeLink]]@@
```
Tiddlywiki by default has auofocus on Searchbox on the sidebar. This may cause annoying behaviour when you open a wiki and a search word in the sidebar search box. To disable this feature: # Open [[$:/config/Search/AutoFocus]] # Set the text value of this tiddler to `false`.
<<docit>> See also: [[Switch Tags without Change in Timestamp]]
; How all core images can be listed?
The core images tagged `$:/tags/Image` are actually ''shadow tiddlers''. The "tag" macro looks for shadow tiddlers by default. The list-links macro will only look for shadow tiddlers if you provide an appropriate filter that includes them:
```
<<list-links "[all[shadows+tiddlers]tag[$:/tags/Image]]">>
```
<<alert warning """''Shadow tiddlers'' are the payload tiddlers within plugins. They are hidden from most operations because they are not "real" tiddlers; this is done to reduce clutter.""">>
!! Example
List //ten// core images in a table with their title. The below example is given by [[Joe Armstrong|https://groups.google.com/d/msg/tiddlywikidev/ctz7Z_dwNNo/Zx-Z1vo6BgAJ]].
* You can remove the `limit[10]` operator to list all images
* This is a dynamic table and the number of `list` widget outputs determine the number of rows
<<wikitext-example-without-html
src:"""<table>
<tr><th align="left">Title</th><th>Image</th></tr>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Image]limit[10]]">
<tr><td>{{!!title}}</td><td><$transclude /></td></tr>
</$list>
</table>
""">>
;How to show a certain level of tag tree? : Use `tagging` operator to select certaing level. ``` level 1: <$list filter="[tag[$:/.mr/toc]]"> </$list> level 2: <$list filter="[tag[$:/.mr/toc]tagging[]]"> </$list> level 3: <$list filter="[tag[$:/.mr/toc]tagging[]tagging[]]"> </$list> ```
;The TW standard date format looks like `YYYY0MM0DD`, using the `split` operator of TW5.1.20 it is possible to handle `YYYY-0MM-0DD` and display results as `Month day, year`
!! Example
The below example [[exmp084/demo]] shows how dates like `2019-08-01` can be treated using the `split` operator.
{{exmp084/demo||template/code}}
;Remarks
: The date as `2019-08-01` is stored in field `test-field`
:The `split[-]` splits the entry on `-` delimiter
:The `nth[?]` operator select the first, second, or third part of result. For example `nth[1]` takes the first part
:The lest `$set` widget takes the nth entry based on month number. For example if month number is 3 then `+[nth<mpos>]` returns Mar
!! Result
> {{exmp084/demo}}
; How to display fields that have a specific prefix in the current tiddler? : for fetching fields and their values in current tiddler use `$list` widget and `all[current]` !! Example Example of fetching fields and values in current tiddler where field name starts with `my` : <$macrocall $name="wikitext-example-without-html" src="""<$list filter="[all[current]fields[]prefix[my]]" variable="field"> <$list filter="[all[current]get<field>]" variable="value"> <<field>> : <<value>> <br/> </$list> </$list> """/> See [[exmp081/demo]] for details.
; How to display list of tiddlers tagged with parent tiddler, when it is opened? : Use conditional view template. !! Example The below template shows all tiddlers tagged with the parent tiddler as an ordered list: * It checks to see if there is any tiddler tagged with the current tiddler (parent). This is performed by the outer `list` widget. * It then makes a call to `list-links` macro to display the tiddlers using an ordered list. * A short message is also showed indication tiddlers tagged with the parent tiddler. Source: [[viewtemplate/tagging]] <pre><$view tiddler="viewtemplate/tagging"/></pre> <<vspace 2cm>> <$macrocall $name="alert" type="danger" src="""''Note'': Reffering to paranet tiddler by `<<currentTiddler>>` in the text is problematic. Using the double angle brackets syntax in the open like this causes the text in the target variable to be wikified. Thus, if you had a tiddler called "HelloThere Jeremy" the word "HelloThere" would be turned into a link to a different tiddler."""/>
<<list-links "[tag[DNS]sort[title]]">>
All tiddler links are draggable by default. They can be dragged within a browser window for manipulating tiddlers, or dragged to a different browser window to initiate an import operation If you drag-and-drop a whole wiki file (a Tiddlywiki file e.g. //mywiki.html//) over another wiki, an [[import operation|https://tiddlywiki.com/#Importing%20Tiddlers]] will be inititaed This way you can also update old wiki files. Assume you have an //empty.html// of new release. If you drag and drop your old wiki file over the //empty.html//, TW will import all tiddlers except the newer system (core, plugin) tiddlers. !! Example # Open an empty.html (can be downloaded from: https://tiddlywiki.com/#GettingStarted) # Open it in a browser # Drag your old wiki over it # Choose which tiddlers you would like to be imported # Save your empty.html That's all.
Tag pills are draggable, and are equivalent to simultaneously dragging all of the individual tiddlers carrying the tag If you drag-n-drop a Tag pill between wikis (two Tiddlywiki files) ALL the tiddlers under that Tag can get imported. !! Example Try to drag the below tag to another wiki files. This will import all tiddlers tagged with `coding` to the new wiki. <$macrocall $name="wikitext-example-without-html" src="""<<tag coding>> """/> Thanks to [[Josiah|https://groups.google.com/d/msg/tiddlywiki/GnA7A8tZcCM/QKH6T4YxHQAJ]]
<<docit>>
; How create CSS dynamically in Tiddlywiki?
:Use TW scrippting elements to generate a stylesheet dynamically!
!! Example
Assume you have some tiddlers contains CSS but NOT tagged with `$:/tags/Stylesheet`. It is also possible to add more tiddlers (for example those added by users), you can create a stylesheet by dynamic populating CSS from those tiddlers.
As an example, we have three diffent tiddlers each have some CSS and tagged with <<tag exmp064>>, to create a dynamic stylesheet create a tiddler as below
<<<
* title: what you want
* tag: `$:/tags/Stylesheet`
* text:
```
<$list filter="[tag[exmp064]]">
<$transclude/>
</$list>
```
<<<
For details see [[Example 64: Demo]]
!! Remarks
As [[PMario|https://groups.google.com/d/msg/tiddlywiki/Puq3nkIlMtk/qZLZRd4QDAAJ]] stated the tiddlers that contains the CSS code needs the pragma as below. Have a look at the added "prettylink" rule. The below is valid CSS and the prettylink will be active.
```
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock prettylink
/*
[[Link to the docs]]
*/
.test-style {
color: red;
}
```
If you delete the pragma in such example, the pretty link like `[[test */]]` will fool the brower css parser.
!! More resources
;Use a custom field to style a tiddler
:[[Tiddlywiki custom style faqs|https://tiddlywiki.com/#Q%3A%20How%20can%20I%20use%20a%20custom%20field%20to%20style%20a%20tiddler%3F]]
<<docit>>
```
tags: $:/tags/Stylesheet
type: text/vnd.tiddlywiki
text:
[data-tiddler-title="{{$:/HistoryList!!current-tiddler}}"] {
height:100vh;
}
[data-tiddler-title="{{$:/HistoryList!!current-tiddler}}"] .tc-tiddler-body {
height:90%;
overflow: auto;
}
```
This is a small python script start a local server for saving single wiki file. It is called ''Python Server''.
<<code-link exmp108/twserver.py>>
!! Linux usages
# Assume TiddlyWiki files live in `/home/ubi/TW`, abbreviated `~/TW`.
#* Use the correct path for your case
# There (`/home/ubi/TW`) place the script as `twserver.py`.
# Start `twserver.py` for example in a terminal window:<div>
```
/usr/bin/python3 ~/TW/twserver.py
```
</div>
# Then point your browser to http://localhost:8080/.
# Status messages started appearing in the terminal window.
# In the browser window a list of files and directories below `~/TW` appeares.
# Open one of TW files, e.g notes.html, and created a new Tiddler and save the changes (TW by default saves automatically)
## The server will create a backup in `~/TW/twBackups` on the fly, e.g `notes.html.YYYYMMDDhhmmss` .
## And then save also the changes to e.g. `~/TW/notes.html`.
<<alert info "It is possible to call the script and start the server on system startup or login procedures">>
!! Windows usages
The procedure is exactly the same as Linux. As an example consider the below file structure
* Main folder: `C:\TW`
* Server path: `C:\TW\Python Server`
* Start Python: go to server path and luanch `python twserver.py`
* Open browser and point to to http://localhost:8080/
* Click on a TW file of choice to open it in browser
* Make a new tiddler and save (or let TW saves automatically)
!! Start a default wiki file
How to instruct server to start a wiki file by default on Windows ^^[[1|https://groups.google.com/d/msg/tiddlywiki/M64suMWXDYQ/lnm3dL19BAAJ]] ^^?
* Open the `twserver.py`
* Adding the line
```
os.system('"C:/Program Files/Firefox Developer Edition/firefox.exe" -url http://127.0.0.1:8080/notes.html')
```
before
```
HTTPServer(('localhost',8080),ExtendedHandler).serve_forever()
```
* It will start up firefox pointing to my `notes.html`
** Note that here the Developer Edition of firefox so your path might be different based on your browser of choice!)
The [[hacdias/webdav|https://github.com/hacdias/webdav/]] is a simple Go WebDAV server. It can be used to save Tiddlywiki single html file using any web browser (firefox, chrome, edge) even old browser like IE.
The `webdav` command line interface is really easy to use so you can easily create a WebDAV server for your own user.
!!How to use
# Simply download the suitable executable from https://github.com/hacdias/webdav/releases
#* for example for Windows 64bit downlaod `windows-amd64-webdav.zip`
# Unzip the file in the above step in your folder of choice
#* For demonstration purpose, `C:\TW\Webdav` is used here. This folder called //webdav root folder//.
# Create a folder in the root of webdav to put your wiki files there
#* In this demo it is `C:\TW\Webdav\wikis`
#* Copy some wiki files to wiki folder. For demo purpose here `test.html` has been put in this folder
# Create a configuration file in webdav root folder to setup the server as you like.
#* For demonstration purpose `C:\TW\Webdav\webday.ymal` is used here which is contains<div>
<pre>modify: true
address: 127.0.0.1
port: 8080
tls: false
cert: cert.pem
key: key.pem
users:
- username: admin
password: admin
scope: ./wikis
</pre>
</div>
#Create a shell script as below to fire up your server.
#* For demonstration it is called here `C:\TW\Webdav\startServer.cmd` containing the below script <div>
<pre>REM Start WebDav Server
webdav.exe -c webdav.yaml
</pre>
</div>
#Fire up your server by run `C:\TW\Webdav\startServer.cmd` script (e.g double click on it)
#Go to your browser of choice and in address bar type `http://localhost:8080/yourwiki.html` and login with "admin" and "admin" (or with the credentials you used in your configuration file).
#* In this demo //test.html// is used so in address bar type: `http://localhost:8080/test.html`
!! Remarks
* The wiki folder can have any number of sub folders like
** `C:\TW\Webdav\wikis\work`
** `C:\TW\Webdav\wikis\personal`
* There is no need for shell script and one can fire up durectly from the Windows powershell or command line e.g
** `webdav.exe -c webdav.yaml`
* The webdav server allows to add any number of users each with different wiki folder, credential and access level
* For path use `/` like `a/sample/path`. This is true also on Windows
* Relative paths are considered with respect to location of `webdav` executable. for example
** If on Windows `webdav.exe` is in `C:\TW\Webdav` and the scope (wikis folder) is `C:\TW\Work` then<div>
<pre>users:
- username: admin
password: admin
scope: ./../Work
</pre>
</div>
* The webdav server accepts absolute (fixed) paths for example `scope: "C:/TW/Work"` note to `/` instead of `\` on Windows.
<<alert info src:"''Note'': The webdav is totoally ''portable''. When you use relative path for wikis folder, it can be placed on a thumb drive and used anywhere!">>
!! How to create a landing page
* Assume you have setup your server as below<div>
```
scope: .
modify: true
address: 127.0.0.5
port: 8086
tls: false
cert: cert.pem
key: key.pem
users:
- username: admin
password: admin
scope: "./wikis"
```
</div>
* Use a wiki e.g. `landing-page.html` stored in wikis folder which has a tiddler with the below contents to create a list of links to wikis<div>
```
<$list filter="[enlist{!!webdav-wikis}addprefix[http://127.0.0.5:8086/]addsuffix[.html]]">
<li><a href=<<currentTiddler>> target=_blank><$view tiddler=<<currentTiddler>> field=title/></a></li>
</$list>
```
</div>
** a field called `webdav-wikis` filled with space separated title of wikis stored in wikis folder
* For simplicity one can have a shell script (e.g `landing-page.cmd`) to start Microsoft Edge Chromium with laninding page as below:<div>
```
@echo off
REM Open the Webdav landing-page
echo start microsoft edge chromium
start msedge.exe http://127.0.0.5:8086/landing-page.html
```
</div>
!! References
* https://github.com/hacdias/webdav
* https://tiddlywiki.com/#Saving%20via%20WebDAV
Here is a very simple example of a dropdown using `focusPopup` <<docit>> <$macrocall $name="wikitext-example-without-html" src="""<$edit-text tiddler="exmp095/data" tag="input" default="" focusPopup="exmp095/state" class="tc-popup-handle"/> <$reveal state="exmp095/state" type="nomatch" text="" default=""> <div class="tc-block-dropdown"> <$linkcatcher to="exmp095/data"> <div class="tc-dropdown-item"> [[One]] [[Two]] [[Three]] </div> </$linkcatcher> </div> </$reveal> """/>
Editing fields in the current Tiddler in view mode is tricky at the beginning because the field you are editing keeps loosing focus.
Here is a quick solution to this issue.
The simplest approach is to place the following in a tiddler tagged `$:/tags/ViewTemplate`
```
<$edit-text field="description"/>
```
Then wrap the above in a list widget to have it appear selectively such as only on tiddlers that already have the //description// field.
Alternatively place he above in a ''template tiddler'' and transclude that In the view template tiddler
in a tiddler tagged `$:/tags/ViewTemplate`
```
{{||yourtemplate}}
```
<<alert warning "Note: If you use the `{{||yourtemplate}}` directly (typed in the body) in a random tiddler you will experience the same lost of focus issue.">>
Using it through the ''view template'' works because what you are looking at is the rendering of the view template not your current tiddler.
You may want to fold the tiddler so you do not see the content twice.
Templates have the advantage of being able to have edits for multiple fields without making the view template tiddlers any more complex. eg
```
Using template:<br>
Description: <$edit-text field="description"/><br>
Caption: <$edit-text field="caption"/><br>
```
One way to make it possible to decide in any given tiddler if you want to edit a field in the current tiddler, when in view mode, is to create a field in any given tiddler called `viewtemplate` and name your view template eg viewtemplate: `testTemplate`
Then to activate this add to a tiddler tagged `$:/tags/ViewTemplate`
```
<$list filter="[all[current]has[viewtemplate]get[viewtemplate]]" variable="view-template">
<$transclude tiddler=<<view-template>>/>
</$list>
```
So if the template is named in any tiddler the view template will transclude that template. You may want to add a `list-before` field with the value `$:/core/ui/ViewTemplate/body` in the tiddler tagged `$:/tags/ViewTemplate`
What is nice is if the fields do not exist they are silently created.
If you create your own new tiddler button you can set the viewtemplate field at creation or use a template to create your tiddlers with the view template already set. Or just clone an existing tiddler.
!! Example i
<<<
Try this for a quick way to edit in the view mode a field on the current tiddler
; QuickFieldEdit - edit-field-list
: Place this in a tiddler tagged `$:/tags/ViewTemplate`
```
<$list filter="[all[current]has[edit-field-list]]" variable=nul>
<$list filter={{!!edit-field-list}} variable=named-field>
<<named-field>> <$edit-text field=<<named-field>>/><br>
</$list>
</$list>
```
Now in any tiddler place a list of field names (space separated) in a field called `edit-field-list` eg
`caption description`
And you can edit these as text fields in the view mode.
<<<
!! Example ii
<<<
To edit the text field in the current Tiddler in view mode:
* in a tiddler tagged `$:/tags/ViewTemplate`
* put the below script
```
in a tiddler tagged $:/tags/ViewTemplate
<$list filter="[is[current]edit-inline[yes]]" variable=null>
{{||$:/core/ui/EditTemplate/body/editor}}
</$list>
```
* Now set the field `edit-inline` on any tiddler to `yes` and you can edit the text directly.
<<alert danger "Some editor toolbar buttons do not work with this method.">>
<<<
<<alert danger "''To be completed''">> Add description on how colorify svg image """ Mohammad, Interesting. https://tiddlywiki.com/#Using%20SVG explains what happens, if the content type is set. The class tc-image-button seems to be used only for sizes, not for fill-definitions in vanilla, see https://tiddlywiki.com/#%24%3A%2Fthemes%2Ftiddlywiki%2Fvanilla%2Fbase All the best, Thomas """
This method is useful if, for any reason, you should find your current TiddlyWiki instance is not saving (e.g. a plugin or a server has stopped working). It should work on just about any platform.
* Go to advanced search {{$:/core/ui/Buttons/advanced-search}}
** Goto the filter tab
** Enter the following filter text:
```
[!is[system]!sort[modified]limit[25]]
```
* Check the list of tiddlers.
* Adjust the number "25" in the filter to make sure you found all your recently modified tiddlers
* Press the bucket with the up arrow [<button class="tc-btn-invisible" disabled><<.icon $:/core/images/export-button>></button>] which appears on the right
* A dialogue window will ask for a location to download a file called tiddler.json on your local drive, or depending on browser configuration, just alert you that such a file will be downloaded. Press save.
* The `tiddlers.json` file can be imported (tools in sidebar) or drag and drop the file on the top line of the story river of another TW .
** You can (de)select specific tiddlers.
** Finally, press `import`.
; Why blank filter in list does not execute the emptyMessage? The TW parser doesn't differentiate between a parameter with a ''blank value'' and a parameter that ''is not specified'' at all. Thus, since `filter=""`, it's as if you had just written <$macrocall $name="wikitext-example-without-html" src="""<$set name="myVariable" filter="" value="It's magic" emptyValue="It's not magic"> <$text text=<<myVariable>> /> </$set> """ />
<div class="tc-table-of-contents"> <<toc-selective-expandable 'English'>> </div>
Search Term: <$edit-text tiddler='$:/temp/ExactSearch' field='text' tag='input'/>
<$checkbox tiddler='$:/temp/ExactSearch' field='include_system' checked=true unchecked=false> Include System Tiddlers</$checkbox>
<$list filter='[[$:/temp/ExactSearch]has[text]field:include_system[true]]'>
<$list filter='[regexp:text{$:/temp/ExactSearch}]-[[$:/temp/ExactSearch]]'>
</$list>
</$list>
<$list filter='[[$:/temp/ExactSearch]has[text]!field:include_system[true]]'>
<$list filter='[!is[system]regexp:text{$:/temp/ExactSearch}]-[[$:/temp/ExactSearch]]'>
</$list>
</$list>
---
Ref: [[Jed Carty Solution|https://www.ooktech.xyz:8443/Public#Exact%20Phrase%20Search]]. Also see this topic in [[forum|https://groups.google.com/d/msg/tiddlywiki/PEnAcsPjA8E/3vSovsuABQAJ]]
<div class="ml-list"> Here's my take on examples plus a little bit of re-arranging and editing of Jeremy's descriptions # <div> If the "tiddler" attribute is present, get the text of the tiddler, or the value of the "emptyValue" attribute if the text field is blank or missing ``` <$set name="myvar" tiddler="SomeTiddler" emptyValue="sometext"> ``` </div> ##<div> If the "subtiddler" attribute is present, get the text of the subtiddler from the specified tiddler, or the value of the "emptyValue" attribute if the subtiddler text is blank or missing ``` <$set name="myvar" tiddler="SomeTiddler" subtiddler="SomeSubTiddler" emptyValue="sometext">` ``` </div> ##<div> If the "field" attribute is present, get the value of that field, or the value of the "emptyValue" attribute if the field is blank or missing ``` <$set name="myvar" tiddler="SomeTiddler" field="somefield" emptyValue="sometext"> ``` </div> ##<div> If the "index" attribute is present, get the value of the specified index, or the value of the "emptyValue" attribute if the index is blank or missing ``` <$set name="myvar" tiddler="SomeTiddler" index="somefield" emptyValue="sometext"> ``` </div> #<div> If the "filter" attribute is present and not blank, return the entire filter results using double square brackets quoting around any results that include spaces ``` <$set name="myvar" filter="[somefilter[]]"> ``` </div> ##<div> If both the "filter" attribute and the "value" attribute are present and the filter results are not empty, return the value of the "value" attribute, otherwise return blank ``` <$set name="myvar" filter="[somefilter[]]" value="somevalue"> ``` </div> ##<div> If both the "filter" attribute and the "emptyValue" attribute are present, return the entire filter results using double square brackets quoting around any results that include spaces, or the value of the "emptyValue" attribute if the result is empty ``` <$set name="myvar" filter="[somefilter[]]" emptyValue="sometext"> ``` </div> ##<div> If the "filter" attribute, the "value" attribute, and the "emptyValue" attribute are present, return the value of the "value" attribute, or the value of the "emptyValue" attribute if the result is empty ``` <$set name="myvar" filter="[somefilter[]]" value="somevalue" emptyValue="sometext"> ``` </div> ##<div> If both the "filter" attribute and the "select" attribute are present and the "select" attribute is a valid number "N", return the "Nth" result from the filter ``` <$set name="myvar" filter="[somefilter[]]" select="3"> ``` </div> #<div> If neither the "tiddler" or "filter" attributes are provided, return the value of the "value" attribute, or the value of the "emptyValue" attribute if the "value" attribute is blank or missing ``` <$set name="myvar" value="somevalue" emptyValue="sometext"> ``` </div>
<<list-links "[tag[Excel]sort[title]]">>
造成Excel的数据记录包含特殊字符的原因有一下几个: <br/> * 从数据库中导出时可能带有空格等特殊字符 *在Excel中通过`替换`为`空值`来删除不需要的字符串 **在完成分类汇总后,会自动在作为分类的字段后面追加`计数`等汇总的字符串,在数据加工完成后是不需要这些被加上去的字符串,在Excel常用的方法就是批量替换为`空`值来删除。 >这两种原因可以导致数据记录带有空格,在使用公式进行数据匹配和比对时就会出现难以发现的问题,有时候会出现连一条记录也不匹配的现象。 <br/> >如何清除数据记录中隐含的空格等字符呢 >*选择`编辑`菜单的`清除`,下面有`格式`、`特殊字符`的功能,可以尝试把所有的格式和特殊字符都清除掉 >*也可以把现有的数据导出为纯文本文件,再把导出的文本文件导入即可。因为导出为纯文本文件时自然会清除其他特殊字符。
*Ctrl+上、下箭头,是在首行和尾行之间跳转;Ctrl+左、右箭头是在首列和末列之间跳转。 *Ctrl+Shift+下箭头是选中单元格所在的列,并在状态栏显示各种汇总统计数据,包括总行数。Ctrl+Shift+->是选中单元格所在的行,并在状态栏显示各种汇总统计数据,包括总列数;
> 一个Excel文件的数据列表的某个字段、某几个字段包含多条相同数据时,可以对这些多次重复的字段进行分类汇总统计操作。
>这里以汇总统计一个单位的人数为例说明:
>比如数据表里包含一个单位的职工基本信息,属于单位的信息,每个人都是相同,属于个人的信息每个人是不同的。这样多条记录就会显示相同的单位代码、单位名称等单位信息,后边的个人信息部分是不同的。
<br/>
>选中工作表数据区域,打开分类汇总功能,选择`分类的字段`,为了最后统计结果的可读性,这里选择`单位名称`;因为要统计每个单位的人数,所以选择`汇总的方式`为`计数`,汇总的项也必须要选择,对于计数的统计要求来说,可选择不重复的字段作为计数统计的汇总选项,比如身份证号,不过经测试,对应计算统计计数的汇总,选择除了第一步的指定的分类字段之外的任意一个字段都可以。如果汇总方式是`求和、平均`等操作,根据实际情况选择对应的字段进行计算。
<br/>
>分类汇总窗口最下边的几个选项都取消也是可以的,可以试试不同的效果。如果需要重新开始分类汇总操作,选择数据区域任意单元格,然后点击`全部删除`即可清除汇总数据,从头再做一遍分类汇总。
<br/>
>完成分类汇总之后,会在表格数据区的左上角有1-2-3三层级联显示按钮,第3级是最初的明细数据记录,第二级就是我们需要的分类统计结果,第一级只有一行总数据。这里我们选择第二级即可仅仅显示分类汇总的结果。
<br/>
> 如果直接复制、粘贴当前显示的分类汇总数据,会把所有的数据都粘贴过来。这里就需要Excel里`编辑`菜单里提供的`定位`功能,也可以直接按下快捷键Ctrl+G,在定位窗口里选择`可见单元格`,点击`定位`即可。
>此时分类汇总区域会被自动选定,直接按下`Ctrl+C`或则右键复制,在新建的一个工作表里选择首行或者次行粘贴即可。
<br/>
>复制出来的分类汇总数据,一般作为`分类`的字段会自动带有`计数`等字符串,需要使用Excel中清除数据中的格式和特殊字符,Excel中清除格式和特殊字符的方法来完成,在后续数据比对公式中才能正确匹配数据。可以参照下面的清除方法来清理格式和特殊字符:
>{{Excel中清除数据中的格式和特殊字符}}
More information at: [[Eric Shulman|https://groups.google.com/d/msg/tiddlywiki/ud_zV7Ss_bY/9SUCv4p2AgAJ]]
<<alert warning "''NOTE'': This seems does not work in 5.1.20+">>
; How to exclude some tiddlers tagged with say `ignored` from table of content when using `toc-selective-expandable`?
This is the toc-selective-expandable code:
```
\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path)
<$vars tag="""$tag$""" sort="""$sort$""" itemClassFilter="""$itemClassFilter$""" excluded="""$exclude$ -[[$tag$]]""" path="""$path$/$tag$""">
<ol class="tc-toc toc-selective-expandable">
<$list filter="""[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$""">
<$list filter="[all[current]toc-link[no]]" variable="ignore" emptyMessage=<<toc-selective-expandable-empty-message>> >
<$macrocall $name=toc-unlinked-selective-expandable-body tag="""$tag$""" sort="""$sort$""" itemClassFilter="""$itemClassFilter$""" exclude=<<excluded>> path=<<path>> >
</$list>
</$list>
</ol>
</$vars>
\end
```
As you can see the macro accepts an `exclude` attribute
This is the filter where your ''exclude'' filter would be used:
```
<$list filter="""[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$""">
```
!! Example
* Exclude tiddler tagged with `ignored`
<<<
If you want to exclude - say - all tiddlers tagged `ignored` you pass
`exclude:"-[tag[ignored]]"`
<<<
* Exclude all tiddlers has a field named `blue`
<<<
If you want to exclude all tiddlers with the field `blue`
`exclude:"-[has:field[blue]]"`
<<<
<<alert danger """
''Important note'': Every term in the exclude filter MUST be a `negated` term (with the `-` prefix) or it will CAUSE infinite recursion. For example, if you write `exclude="[tag[Foo]]"` instead of `exclude="-[tag[Foo]]"`, then all tiddlers tagged "Foo" will be treated as matching tiddlers at *every* level of the tree and the code will recurse until the browser crashes.
""">>
How to exit the Vim editor? 点击ESC进入“正常模式”,然后输入“:”,进入“命令模式”。此时屏幕的下方会出现一个冒号,你可以输入以下命令,并按“ENTER”执行: >:q ,退出(:quit的缩写) :q!,退出且不保存(:quit!的缩写) :wq,保存并退出 :wq!,保存并退出即使文件没有写入权限(强制保存退出) :x,保存并退出(类似:wq,但是只有在有更改的情况下才保存) :exit,保存并退出(和:x相同) :qa,退出所有(:quitall的缩写) :cq,退出且不保存(即便有错误) 你也可以直接在“正常模式”下输入“ZZ”来保存并退出Vim(和:x相同),或者“ZQ”不保存并退出(和:q!相同)注意此处ZZ大写和小写是完全不同的。 Vim还有一个帮助菜单,可以通过“:help”调出来,基本能够解决你的绝大多数问题。
`haschanged[]` will list all tiddlers since the last time the wiki was loaded from disk, ie the reload button, or if you close the tab and reopen again. It is perfect for an ''emergency save'', like list everything changed since I loaded it this morning. Export to JSON, restore from last working version and import the json. !! Example # Open the <<advanced-search>> # Choose the `Filter` tab # Enter the below filter `[haschanged[]!prefix[$:/state]!prefix[$:/temp]![$:/StoryList]![$:/HistoryList]]` # Click on export tiddler icon on the right side # Save as JSON file You can import this JSON later into a wiki file. !!! See also <<list-links "[search:keywords[change]] -[<currentTiddler>]" type:"ol">>
; How to display external images (from local folders)? :Have a thumbnail of the image displayed; click on thumbnail to see the full resolution image. The solution here uses two buttons, but it is possible to have a thumbnail and on click display the full resolution image. The solution includes two macros. The macro assumes * The images are located in a local folder * The thumbnails are stored in `thumbs` under image folder (default is `TW-Images/thumbs/`) ``` \define imageit(image:"image",path:"TW-Images/") <$macrocall $name="imageaid" image="$path$$image$" thumb="$path$thumbs/$image$" state="$:/ImageState/$image$" /> \end \define imageaid(image:"image.jpg" ,thumb:"pathToThumb", state:"ImageRevealState") <$button set="$state$" setTo="hide">Full image</$button> <$button set="$state$" setTo="show">Small Image</$button><p/> <$reveal type="match" state="$state$" text="show"> <img src="$thumb$" /> </$reveal> <$reveal type="match" state="$state$" text="hide"> <img src="$image$" /> </$reveal> \end ``` * Main macro `imageit` |!Attribute|!Description| |imgage|The image name including extention e.g. `mypic.jpg`| |path|The path to image folder, defualt is `TW-Images/`| The macro `imageit` calls the other macro `imageid` which uses in turn `reveal` widget to show the images. !! How it works? # Put the macros in a tiddler tagged with `$:/tags/Macro` #<div> Call it whenever you like as below ``` <<imageit "mypic.jpg">> <<imageit "sample.png" "d:/TW/pictures/">> ``` </div>
<<docit>> https://groups.google.com/d/msg/tiddlywiki/NTFr-oFJD4E/iFN6Rz__AwAJ Also: http://sycom.github.io/TiddlyWiki-Plugins/
\define fibber(last:"0",next:"1",count:"1") <$list filter="[<__count__>!match[0]]" emptyMessage="<<__last__>> <<__next__>>" > <$set name="count" filter="[<__count__>subtract[1]]" select=0> <$set name="next" filter="[<__last__>add<__next__>]" select=0> <<__last__>> <$macrocall $name=fibber last=<<__next__>> next=<<next>> count=<<count>>/> </$set></$set> </$list> \end ;Using the recursive feature of macro, develop a code to calculate the Fibonacci sequence : The [[Fibonacchi|https://en.wikipedia.org/wiki/Fibonacci_number]] sequence starts with "0" and "1" and each new number in the sequence is the sum of its two previous numbers. !! Solution The below macro is a solution to Fibonacci sequence using the recursive macro. <<show-macro>> !! Content and attributes |!Attributes |!Type |!Description | |last |required|the last entry in the sequence. The default value is `0`| |next |required|the text entry in the sequence. The default value is `1`| |count |required |number of entries in the sequence to be calculated. The default value is `1`| ;Remarks : the `fibber` macro calculates the Fibonacci sequence using the recursive function `fibber` :the first `$list` widget checks if the number of requested entries, `count` is zero, then it displays the `last` and `next` entries. :if the `count` is not zero, then it decreases the `count` parameter by one and calculates the `next` entry by adding the previous values of entries `last` and `next` using the two `$set` widgets. It then calls the `fibber` with new values of `count`, `last`, and `next` :the recursive calculation is continued until `count` is equal zero. !! Examples Starting from "0" and "1", calculate and print the next 6 numbers of Fibonacci sequence. <$macrocall $name="wikitext-example-without-html" src="""<<fibber 0 1 6>>"""/> Starting from "3" and "5", calculate and print the next 10 numbers of Fibonacci sequence. <$macrocall $name="wikitext-example-without-html" src="""<<fibber 3 5 10>>"""/>
For getting the property value from a data tiddler (dictionary) using a field, use the below syntax
```
<$transclude tiddler="data-tiddler" index={{!!field-name}}/>
```
<<alert danger "The `{{data-tiddler##{{!!field-value}}}}` will not work! Nesting `{}` is not allowed">>
; Assume several tiddlers have a common tag and a field called `ingredient`, how to display the value of the `ingredient` from all tiddlers with the tag? : Use the `list` widget with `get` operator. Each input title is processed in turn. If the corresponding tiddler contains field `ingredient`, and the value of this field is //not empty//, then its value is appended to the output. For more information see [1]. !! Example The below example displays the value of ingredient field from sveral tiddlers tagged with <<tag exmp063>> <$macrocall $name="wikitext-example-without-html" src="""><$list filter="[tag[exmp063]get[ingredient]]"> <<currentTiddler>><br> </$list> """/> !! Duplicated values ; If there are several tiddlers with same ingredent value, how list (display) the value only one time (no repeated values)? : Use the `each` operator, to remove duplicates. See [2] below ``` <$list filter="[tag[food]each[ingredient]get[ingredient]]"> </$list> ``` !! Reference # https://tiddlywiki.com/#get%20Operator # https://tiddlywiki.com/#each%20Operator
; How use a customized filename for saving Tiddlywiki as a singlefile? : Referening ot [[Tiddlywiki documentation|https://tiddlywiki.com/#Hidden%20Setting%3A%20Filename%20for%20Save%20Wiki%20Button]] it is possible to have customized filename. If a tiddler named $:/config/SaveWikiButton/Filename is created, the text in that tiddler will be used as the default file name used for saving the TiddlyWiki. !! Example The below script in $:/config/SaveWikiButton/Filename cuase on save a filebame like `MyWiki - 18.08.2019-17.40.24.html` is created. ``` MyWiki - <<now "0DD.0MM.YYYY-0hh.0mm.0ss">>.html ```
<<docit>>
; How to write a filter that returns only the first suffix word after a given prefix?
: Use prefix, removeprefix, and splitbefore operators to do that.
!! Example
On Tiddlywiki.com, go to the Advanced Search, Shadows tab, and search for (the prefix): `$:/core/ui/ControlPanel/`. It returns about 50 results.
The only ones are requested are the ones that have a //single word// after that //prefix//. For example: the `$:/core/ui/ControlPanel/Saving` is rquested but NOT `$:/core/ui/ControlPanel/Saving/DownloadSaver`.
So, the filter shall:
1. Find only the tiddlers have one word after the prefix `$:/core/ui/ControlPanel/`
2. Return all those single words (remove the prefix)
```
<$list filter="[all[shadows]prefix[$:/core/ui/ControlPanel/]removeprefix[$:/core/ui/ControlPanel/]splitbefore[/]!suffix[/]]">
</$list>
```
!! Remarks
* The `all[shadows]prefix[$:/core/ui/ControlPanel/]` finds all shadow tiddlers their title starts with `$:/core/ui/ControlPanel/`
* The `removeprefix[$:/core/ui/ControlPanel/]` remove the part `$:/core/ui/ControlPanel/` from title
* The `splitbefore[/]` filter, remove remaining text from title after `/`, but include `/` in the output.
* The last parst `!suffix[/]` ignores all results having trailing `/`. This will remove those output having `a/b/...` means are not single word after `$:/core/ui/ControlPanel/`.
!! A complete example
The below script, adds two extra steps. It formats the output as numbered list and also make links to each tiddler. Note that the `set` widget creates the link.
```
<ol>
<$list filter="[all[shadows]prefix[$:/core/ui/ControlPanel/]removeprefix[$:/core/ui/ControlPanel/]splitbefore[/]!suffix[/]]" variable="xx1">
<$set name=lnk filter={{{[<xx1>addprefix[$:/core/ui/ControlPanel/]]}}}>
<li><$link to=<<lnk>> > <$text text=<<lnk>>/> </$link></li>
</$set>
</$list>
</ol>
```
<<docit>>
; How it is possible to find all `[[links]]` in tiddler fileds? : Use `regexp` with suitable input ! Example Find all wikitext links (those in double square brackeks `[[]]`) in a filed called `myfield`. You need to put your expression in a separate variable as below. ``` <$vars reg="(?g)\[\[.*?\]\]"> <$list filter="[!is[system]regexp:myfield<reg>]"> </$list> </$vars> ``` !! Remarks * The `$vars` widget defines a new variable `reg` to store the regexp search pattern * The `$list` widget then uses a `regexp` filter operator to find the wikitext links
Also have a look at [[filtered transclusion|https://tiddlywiki.com/#Transclusion%20in%20WikiText]].
The below syntax can be used to transclude a list of tiddlers matching a specified filter:
```
{{{[tag[2018.10.02]||DailyTemplate]}}}
```
The [[DailyTemplate]] is a simple template tiddler is used for output.
See the below the example in action. This example lists all tiddlers tagged with `2018.10.02`.
<<wikitext-example-without-html
"""{{{ 2018.10.02 || DailyTemplate }}}
""">>
You can think of TiddlyWiki as a database in which the records are tiddlers. A database typically provides a way of discovering which records match a given pattern, and in ~TiddlyWiki this is done with filters. A <<.def filter>> is a concise notation for selecting a particular [[set of tiddlers|Title Selection]], known as its <<.def "output">>. Whenever ~TiddlyWiki encounters a filter, it calculates the output. Further work can then be done with just those tiddlers, such as [[counting|CountWidget]] or [[listing|ListWidget]] them. The following example passes a filter to the <<.mlink list-links>> macro to display a list of all tiddlers whose titles start with the letter H: > `<<list-links "[prefix[H]]">>` A filter's output can change as tiddlers are added and deleted in the wiki. ~TiddlyWiki recalculates on the fly, automatically updating any filter-based counts or lists as well. [[Advanced Search|$:/AdvancedSearch]] has a <<.advancedsearch-tab Filter>> tab that makes it easy to experiment with filters. ;Find out more: * [[Introduction to filter notation]] -- a step-by-step walkthrough * [[Filter Syntax]] -- the detailed technical rules * [[Filter Operators]] -- the available methods of filtering
;There is a demo tiddler packed into a plugin and it used a viewtemplate. It did not work until it is opened and saved again. Example is sticky footer in Shiraz plugin! :When you say “open them and save them again” are you referring to the tiddlers within your plugins? If so, it sounds like some of your filter expressions are only picking up “real” tiddlers, and not shadow tiddlers. If you want to get all tiddlers tagged “foo” including shadow tiddlers you need a filter like this: ``` [all[shadows+tiddlers]tag[foo]] ```
; How to list all DataTiddlers have an index/value pairs of (`myIndex: myValue`)? : Use a filter to find all DataTiddlers and then search in them to see if there is a `myIndex` index and then check if its value is `myValue` then make a link to it. !! Example The below example finds and lists all DataTiddler: * have an index named: `validateAll` * that has its value: `true` * and it makes a link to the tiddlers ``` \define make-link() <$link to="$(display)$">$(display)$</$link><br> <$list filter="[type[application/x-tiddler-dictionary]]" variable=dataTid> <$set name="display" value=<<dataTid>>> <$set name="data" tiddler=<<dataTid>> index="validateAll"> <$list filter="[<data>] -[[true]]" emptyMessage=<<make-link>>> </$list> </$set> </$set> </$list> ``` !! Remarks * The macro create a nice link to founded DataTiddlers * The first `list` widget lists all DataTiddlers in current wiki * The second `list` widget filters those DataTiddlers has a `true` value for `validateAll` index. It uses an else form, beacuse the filter is empty for those DataTiddlers are the answer, so the emptyMessage will triggered and a link will be created for answer. <<alert primary "This solution can also be used to find DataTiddlers having certain indexes.">>
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
My take on the 5 most important widgets to learn would be: * `<$transclude>` * `<$set>` (note that `<$tiddler>` is really just an instance of the `<$set>` widget) * `<$list>` * `<$text>` * `<$link>` And if I was allowed another 5 they would be: * `<$macrocall>` * `<$edit-text>` * `<$button>` * `<$navigator>` * `<$reveal>` There’s also a bundle of widgets that I consider to be hacked that have hung over from the very early days of TW5. At the beginning we didn’t have flexible enough primitives to model some behaviour (like the story river), and so there’s a number of widgets that encapsulate blobs of JavaScript that could soon be replaced by more generic, smaller components: * `<$navigator>` * `<$fieldmangler>` * `<$linkcatcher>` * `<$encrypt>` for encrypting the payload of standalone HTML TiddlyWikis * `<$raw>`
What is the best practice for embedding float images in tiddlers to prevent overflow? !! Solution #https://groups.google.com/d/msg/tiddlywiki/5bZwwj6cyac/2LzFeA7AAwAJ #https://groups.google.com/d/msg/tiddlywiki/5bZwwj6cyac/bz_GPwsoBAAJ !! Remarks :The first solution seems to work better, the second does not work on TW 5.1.17 and above. The [[$:/plugins/.mr/shiraz/stylesheet/tw-adjustment]] has implemented the first version to wrap the float image inside the tiddler.
There is a wikitext syntax for images eg: `[img[pig.png]]`. But what if I want to center the image. Or if I want the image left or right aligned and the text should flow around the image. There are 3 macros now. * `<<image-left "pig.png">>` * `<<image-center "pig.png">>` * `<<image-right "pig.png">>` <br> !! Left aligned image ``` <<image-left "pig.png">> ``` Activates a `float-left` CSS rule for the image container. <<image-left "pig.png" caption:"//Fig 1. floating image//" width:"20%">> If you want to add a caption to the image, just use: ``` <<image-left "pig.png" caption:"//Fig 1. floating image//" width:"20%">> ``` As you can see, inline formatting rules can be used. <br> !! Center aligned image The image below will be centred and slightly bigger. There is no text flow around the image. The macro is used like this: ``` <<image-center "pig.png" caption:"Fig 2. Centered image" width:"30%">> ``` <<image-center "pig.png" caption:"Fig 2. Centered image" width:"30%">> !! Right aligned image <<image-right "pig.png" caption:"''Fig 3. Float right image''" tooltip:"The lovely pig from north" width:"20%">> This image uses: ``` <<image-right "pig.png" caption:"''Fig 3. Float right image''" tooltip:"The lovely pig from north" width:"20%">> ``` !! Clearfix Since "float-left" and "float-right" CSS rules have some effects on the text flow, we need a mechanism, that disables this effect. So we need to assign a special class to the last paragraph of this page: eg: ``` @@.image-text ... @@ ``` <<alert info "''Note'': There are more elegant solutions to do this.">> !!! Tiddlers in this solution <<list-links "[tag[floating-images]] -[<currentTiddler>]" type:"ol">>
<<docit>>
; Is there a "folding editor" macro - could be called something like:
```
<<folding-editor "Tiddler-01">>
<<folding-editor "Tiddler-02">>
```
!! A folding editor
The below macro accepts a tiddler title and create an inline folding editor. A small pen is shown on the right and by clicking it reveals an editor to edit the tiddler inline.
```
\define folding-editor(tiddler)
<$set name="state" value={{{ [[$:/state/folding-editor/]addsuffix<currentTiddler>addsuffix<__tiddler__>] }}}>
<$reveal stateTitle=<<state>> type="nomatch" text="edit">
<span style="float: right;">
<$button class="tc-btn-invisible" setTitle=<<state>> setTo="edit">{{$:/core/images/edit-button}}</$button>
</span>
<$list filter="[<__tiddler__>is[missing]] [<__tiddler__>!is[missing]!has[text]]">
<<__tiddler__>>
</$list>
<$transclude tiddler=<<__tiddler__>> mode="block"/>
</$reveal>
<$reveal stateTitle=<<state>> type="match" text="edit">
<span style="float: right;">
<$button class="tc-btn-invisible" setTitle=<<state>> setTo="">{{$:/core/images/done-button}}</$button>
</span>
<$edit-text class="tc-edit-texteditor" tiddler=<<__tiddler__>> tag="textarea" default="" placeholder={{$:/language/EditTemplate/Body/Placeholder}}/>
</$reveal>
</$set>
\end
```
; How to read two inputs from a user form and create a link by concatenating two variables? : Use a macro with $tiddler with $edit-text to !! Code <<code-link exmp106/macro/linkup>> * Everything (except the linkup macro definition) is inside a `$tiddler` widget to set the context, so you can just refer to the fields without having to specify the tiddler each time * The `$vars` widget gets the input from the temporary fields and puts them into variables * The `<<linkup>>` macro uses `$(...)$` syntax to access the variable values instead of passing them as parameters. <<alert info "Eeverything in TiddlyWiki is context dependent, so variables only exist //WITHIN// the scope of their container.">> !! Example The below example shows how the code works. <<content exmp106/macro/linkup>>
Available character formatting includes: * <code>`backticks`</code> for `code` (<<.icon $:/core/images/mono-line>>) ** Alternatively, <code>``double backticks allows `embedded` backticks``</code> * `''bold''` for ''bold text'' (<<.icon $:/core/images/bold>>) * `//italic//` for //italic text// (<<.icon $:/core/images/italic>>) * `__underscore__` for __underscored text__ (<<.icon $:/core/images/underline>>) * `^^superscript^^` for ^^superscripted^^ text (<<.icon $:/core/images/superscript>>) * `,,subscript,,` for ,,subscripted,, text (<<.icon $:/core/images/subscript>>) * `~~strikethrough~~` for ~~strikethrough~~ text (<<.icon $:/core/images/strikethrough>>) See also: [[Code Blocks in WikiText]]
<div class="tc-table-of-contents"> <<toc-selective-expandable 'FromTiddlerWiki'>> </div>
\import exmp107/macro/get-all-matches ;How to find all matches when looking for specified value in a field? :this means to list all tiddlers has a certain field with the value is searched. !! Code Here a macro is developed. It gets the filed name and using a `$list` widget looks for the specified value <<code-link exmp107/macro/get-all-matches>> * the input parameter `fieldname` is the name of field in which search will perform * the input parameter `fieldvalue` is the value for which search is performed <<alert info "''Note:'' The above macro finds only //exact matches//. So, it is case sensistive.">> !! Example Find all tiddlers have `responder` field contains the value `Simon Huber` <$macrocall $name="wikitext-example-without-html" src="""><<getAllMatches responder "Simon Huber">> """/> !! Remarks * To return a link to matched tiddlers modify the code as below<div> ``` \define getAllMatches(fieldname,fieldvalue) <$list filter="[$fieldname$[$fieldvalue$]]"> <$link/><br> </$list> \end ``` </div> * Use `$macrocall` widget, which also invokes a macro, but allows to pass parameters whose values can be retrieved from variables instead of just being quoted strings. Thus:<div> ``` <$macrocall name="getAllMatches" fieldname=<<someFieldnameVariable>> fieldValue=<<someFieldvalueVariable>> /> ``` </div>
;[[Question|https://groups.google.com/d/msg/tiddlywiki/_OnqU7IiB9g/XrbaGLBUCAAJ]]: How get the JavaScript macro output as raw text (NOT wikified)?
<<<
In a normal TiddlyWiki macro the below pragma
```
\rules only
```
prevents the macro output from wikification! How prevent TiddlyWiki from wikifying the output of a JS macro output or how get the raw text as output?
<<<
!! Solution i
Ref: [[Best solution|https://groups.google.com/d/msg/tiddlywiki/_OnqU7IiB9g/Dk40NpL6CAAJ]]
The trick is to use the “type” attribute of the ''$macrocall'' widget. It causes it to interpret the text as //plain text//, rather than //wikitext//. However, if you try `<$macrocall $type="text/plain" $name="dumpvariables"/>` on it’s own you’ll see that it puts the text in a plain text block (like triple backticks). The wikify widget lets us extract the plain text from that output.
```
<$wikify name="output" text="""<$macrocall $type="text/plain" $name="dumpvariables"/>""">
<$text text=<<output>>/>
</$wikify>
```
!!Example
<<<
```
<$wikify name="output" text="""<$macrocall $type="text/plain" $name="dumpvariables"/>""">
;Raw or plain output
:<$text text=<<output>> />
;Wikified output
:<<xx>>
</$wikify>
```
!!!Remarks
Here `dumpvariables` is a sample JS macro. You can use your own JS macro which may have many input parameters e.g
```
<$wikify name="output" text="""<$macrocall $type="text/plain" $name="regexpsub" sourceText={{snr/sample01}} searchValue="is" replaceValue="IS" />""">
<$text text=<<output>>/>
</$wikify>
```
<<<
!! Solution ii
Ref: [[Alternative solution|https://groups.google.com/d/msg/tiddlywiki/_OnqU7IiB9g/IxloHlq3CAAJ]]
To render the plain output of a JS macro you can do this:
```
<pre><$text text=<<macro-name-here>>/></pre>
```
If you need the output in a ''variable'' you’ll need to use the wikify widget:
```
<$wikify name="output" text="""<pre><$text text=<<macro-name-here>>/></pre>""">
<$text text={{{ [<output>split[|]join[||]] }}} />
</$wikify>
```
; How to get the macro name only NOT retreive the value? In filter expression, sometimes you need to get the name of macro instead of its value: * To get the macro name only use it inside `[]` * To retrieve the value oc macro use it inside angle bracket `<MyMacro>` For example ``` \define MyMacro() This is a test <$list filter="[[myMacro]addsuffix[ -Variable]]" ... <$list filter=:"[<MyMacro>addsuffix[ -Variable]]" ... ``` * In the first $list it produces `MyMacro - Variable` * In the second $list it produces `This is a test -Variable ` For a real use case see: [[Check if Macro or Variable Exists]]
;How to extract the first line of text field of selected tiddlers?
:use $list with suitable filter to select the tiddlers, then use `regexp` to extract the firat line.
!! Example
Extract the first line of all tiddlers tagged with `definition`
```
<$list filter="[tag[definition]sort[title]]">
<$link /><br>
@@color:green; {{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}@@
</$list>
```
* The filter shown above matches all tiddlers tagged with "definition" and sorts the resulting list by title (case-insensitive).
* Then, within the list widget, for each tiddler that was found, it sets the `<<currentTiddler>>` value and:
* `<$link /><br>` outputs a line showing a link to the current tiddler
* `@@color:green; ... @@` applies CSS syntax to set the text color
* {{{ ... }}} is an "inline list" that:
*# gets the text of the current tiddler
*# splits it into lines (using \n as the line boundary)
*# outputs the first item in the "inline list" (i.e., the first line of the text from that tiddler)
<<alert warning "Parsing lines out of text is NOT the best way to proceed. TW5 makes it easy to access tiddler fields. It might be better to put the line contents into their own fields ^^[[1|https://groups.google.com/d/msg/tiddlywiki/96KRu45GFIw/63AKG0SbAgAJ]]^^.">>
Welcome to ~TiddlyWiki and the ~TiddlyWiki community
Visit https://tiddlywiki.com/ to find out more about ~TiddlyWiki and what it can do.
! Syncing Changes to the Server
Before you can start storing important information in ~TiddlyWiki it is important to make sure that your changes are being reliably saved by the server.
# Create a new tiddler using the {{$:/core/images/new-button}} button in the sidebar on the right
# Click the {{$:/core/images/done-button}} button at the top right of the new tiddler
# Check the `TiddlyWiki command line` for a message confirming the tiddler has been saved
# Refresh the page in the browser to and verify that the new tiddler has been correctly saved
*注册GitHub账号、在GitHub新建仓库
*下载并安装[[Git|https://git-scm.com/]]
*在Git Bash命令下绑定GitHub的用户名和邮箱
**git config –global user.name "你的GitHub用户名"
**git config -global user.email "你的GitHub账号邮箱"
**`-global参数,表示当前机器上所有的 Git 仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱`
*在Git Bash命令下生成SSH,在GitHub中添加SSH
*git上传项目到GitHub
**git clone <https://xxxxxx仓库链接地址> `clone远程仓库到本地目录`
**git add dirname `添加本地仓库内新增的目录、文件`
**git commit -m "注释" `把项目目录或者文件提交到本地仓库`
***可以使用git status 查看一下当前的状态
**git remote add origin git@github.com:lsgxs2019/lsgxs2019.github.io.git. `关联远程的Github仓库`,复制GitHub如下图GitHub地址:{{GitToGitHub}}
** git push -u origin main
<br/>
*将本地后续修改的文件更新到远程的GitHub Repository同步三部曲:添加->提交->推送
>git add <filename>
git commit -m "代码提交信息"
git remote add origin git@github.com:lsgxs2019/lsgxs2019.github.io.git. `关联远程的Github仓库`,复制GitHub如下图GitHub地址:{{GitToGitHub}}
`测试一台机机器是否只需关联一次?`
git push origin master ` git push origin master若失败 , 可尝试以下操作强制推送(慎用)`
git push -u origin master -f
*git init `在当前目录下执行Git Bash here`
*git add dirname `添加本地仓库内新增的目录、文件`
*git commit -m "注释" `把项目目录或者文件提交到本地仓库`
*git remote add origin git@github.com:lsgxs2019/lsgxs2019.github.io.git. `关联远程的Github仓库`,复制GitHub如下图GitHub地址:{{GitToGitHub}}
* git push -u origin main
<br/>
*将本地后续修改的文件更新到远程的GitHub Repository同步三部曲:添加->提交->推送
>git add <filename>
git commit -m "代码提交信息"
git remote add origin git@github.com:lsgxs2019/lsgxs2019.github.io.git. `关联远程的Github仓库`,复制GitHub如下图GitHub地址:{{GitToGitHub}}
`测试一台机机器是否只需关联一次?`
git push origin master ` git push origin master若失败 , 可尝试以下操作强制推送(慎用)`
git push -u origin master -f
>[[git的github使用,来自廖雪峰的官官方网站:|https://www.liaoxuefeng.com/wiki/896043488029600/900937935629664]] ``` 理了理思路,也分享出来: 首先,有3个仓库; 1.远程 原作者的仓库:【twbs/bootstrap】 2.远程 自己Fork出来的库:【my/bootstrap】 3.本地:【local/bootstrap】 其次,当我在【local/bootstrap】完成了开发工作,之后的工作流是什么样子的呢? 1.把远程原作者的仓库【twbs/bootstrap】拉到本地,用Pull就行(Pull = Fetch+Merge); 2.本地使用Rebase; 3.此时,本地【local/bootstrap】与远程原作者的仓库【twbs/bootstrap】就算是同步完了; 4.那么,远程 当初自己Fork出来的库【my/bootstrap】与远程原作者的仓库【twbs/bootstrap】还没同步呢,.咋办?此时,在本地使用PushOrigin推送到自己Fork出来的库【my/bootstrap】就行了; 5.最后,给原作者发送1个PullRequest的消息。 之前困惑我的事情解决了;至此,就算完成了3个库的同步了。 ``` >关于git的github使用的知识摘录二: ``` 这样说可能会好理解点: 有三个仓库,local(本地的),origin(远程你自己的) 和 upstream(远程别人的)。 1. local 和 origin 要同步,就是采用之前讲的 git pull 和 git push; 2. local 和 upstream 要同步,就要设置上游(git remote add upstream <upstream地址>),之后 git pull upstream master 拉下来同步 3. origin 和 upstream 要同步,可以选择去 github 操作,去 origin 仓库向 upstream 发起 pull request,但是 head 设置为 upstream,base 设置为 origin,这相当于反向 pull request,可以让你 fork 的仓库与原仓库保持同步 ```
<<list-links "[tag[Git与GitHub]sort[title]]">>
*在GitHub上注册账号,建立一个仓库。
*下载Git并安装,一般选择使用Git Bash 作为终端,生成SSH密钥。
**打开Git Bash 终端,使用ssh-keygen 命令来在本地机器生成SSH密钥,选择ed25519的算法,如下:
**ssh-keygen -t ed25519 id_ed25519.pub
**在这个命令中,-t ed25519 是采用ed25519的算法 。常见的 SSH 登录密钥使用 RSA 算法。RSA 经典且可靠,但性能不够理想。只要你的服务器上 OpenSSH 版本大于 6.5(2014 年的古早版本),就可以利用 Ed25519 算法生成的密钥对,减少你的登录时间。如果你使用 SSH 访问 Git,那么就更值得一试。Ed25519 的安全性在 RSA 2048 与 RSA 4096 之间,且性能在数十倍以上。
**{{ssh-keygen}}
**如果是自己私人的机器,可以不必设置密码,一路回车即可在.ssh/目录下生成id_ed25519.pub文件。
**使用 cat ed25519.pub 显示文件内容,复制到剪切板;也可使用clip < ~/.ssh/id_ed25519.pub 完成复制。
*登录到github.com,点击右上角个人图标,选在settings打开设置选项, 选在左侧面板出的SSH and GPG keys,选择new SSH Key ,粘贴ed25519.pub的内容保存即可。
*在本地机器配置GitHub用户名及密码
** git config --global user.name "yourgitname"
** git config --global user.email "yourmail"
* GitHub是什么(What) gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 [Linus Torvalds](林纳斯·本纳第克特·托瓦兹_百度百科 Torvalds/9336769) 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 *GitHub产生的背景(From) Git产生背景:同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,于是整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。 到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。 gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。 *基本功能(How) github作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。 GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。`为一个项目贡献代码非常简单:首先点击项目站点的"fork"的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的"pull request"机制向项目负责人申请代码合并`。已经有人将GitHub称为代码玩家的MySpace。在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,GitHub的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。是的,我们正是这么计划的。通过与客户的接洽,开发FamSpam,甚至是开发GitHub本身,GitHub的私有库已经被证明了物有所值。任何希望节省时间并希望和团队其它成员一样远离页面频繁转换之苦的人士都会从GitHub中获得他们真正想要的价值。 *在GitHub,用户可以十分轻易地找到海量的开源代码 <br/> *GitLab GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。 GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。 *Git,GitHub与GitLab的区别 **Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。 **GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。 **GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。 **GitLab可以独立的部署在公司自己的服务器上。 GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。从代码的私有性上来看,GitLab 是一个更好的选择。但是对于开源项目而言,GitHub 依然是代码托管的首选。
<<list-links "[tag[git&github]sort[title]]">>
[[https://docs.github.com/en |https://docs.github.com/en]]
/9j/4AAQSkZJRgABAQEAYABgAAD/4SNiRXhpZgAATU0AKgAAAAgABgALAAIAAAAmAAAIYgESAAMAAAABAAEAAAExAAIAAAAmAAAIiAEyAAIAAAAUAAAIrodpAAQAAAABAAAIwuocAAcAAAgMAAAAVgAAEUYc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdpbmRvd3MgUGhvdG8gRWRpdG9yIDEwLjAuMTAwMTEuMTYzODQAV2luZG93cyBQaG90byBFZGl0b3IgMTAuMC4xMDAxMS4xNjM4NAAyMDIxOjA0OjI4IDExOjA2OjE4AAAGkAMAAgAAABQAABEckAQAAgAAABQAABEwkpEAAgAAAAMwOQAAkpIAAgAAAAMwOQAAoAEAAwAAAAEAAQAA6hwABwAACAwAAAkQAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAyMTowNDoyOCAxMDo1MjoxMQAyMDIxOjA0OjI4IDEwOjUyOjExAAAAAAYBAwADAAAAAQAGAAABGgAFAAAAAQAAEZQBGwAFAAAAAQAAEZwBKAADAAAAAQAC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+/ufzqW2sLGzlaWCJFkZFjL5yxVegyecUAW96/3h+dG9f7w/OgA3r/eH50b1/vD86ADev94fnRvX+8PzoAN6/wB4fnTXZTGwBHI9aAP/2QD/4THoaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdG9yVG9vbD5XaW5kb3dzIFBob3RvIEVkaXRvciAxMC4wLjEwMDExLjE2Mzg0PC94bXA6Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjEtMDQtMjhUMTA6NTI6MTEuMDkxPC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48L3JkZjpSREY+PC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSd3Jz8+/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgBPwOdAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/VOiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAguLmK1XdI4QdBnufQDvUH9sW/8AduP/AAFl/wDiaik/eaw+7ny4VKZ7FmYH9FFWKdhDP7Yt/wC7cf8AgLL/APE0f2xb/wB24/8AAWX/AOJp9FFguM/ti3/u3H/gLL/8TR/bFv8A3bj/AMBZf/iafRRYLjP7Yt/7tx/4Cy//ABNH9sW/924/8BZf/iafRRYLjP7Yt/7tx/4Cy/8AxNH9sW/924/8BZf/AImn0UWC4z+2Lf8Au3H/AICy/wDxNH9sW/8AduP/AAFl/wDiafRRYLjP7Yt/7tx+NtIB+e2rUMyXEYeNw6HoynioKhsf3epXiDhSkcpH+0SwJ/EKKANGiiqepanaaNYXF9qF3DY2VuhlmubmQRxxKBkszEgAAdycUhlyisIeNvDreF/+ElGv6WfDfl+d/bH22P7J5ecb/Ozs254znGa0dN1O01mwt77T7uG+srhBLDc20gkjlUjIZWBIII7g4oAuUUlLQAUUUUAFFFFABRRRQAUVkeJvFmieC9Jk1TxDrFhoWmRsFe91K6S2hUk4ALuQoJPTmsfwn8XvAvjzUHsfDPjTw94ivY081rbSdVgupVQEAsVjckDJHOO4oA6+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAjmmS3jLyOEQdWY8VV/ti3/ALtx+FtIR+e2mX37zUrSM8qEkkA7bgVAP4Bj+dTUwGf2xb/3bj/wFl/+Jo/ti3/u3H/gLL/8TT6KLCuM/ti3/u3H/gLL/wDE0f2xb/3bj/wFl/8AiafRRYLjP7Yt/wC7cf8AgLL/APE0f2xb/wB24/8AAWX/AOJp9FFguM/ti3/u3H/gLL/8TR/bFv8A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
!! Global macro
Global macro are those macros defined in tiddlers tagged with `$:/tags/Macro`. These macros available in every other tiddler. See also [[ImportVariable Widget|https://tiddlywiki.com/#ImportVariablesWidget]] on Tiddlywiki.com.
!! Private macro
Any macro defined with `\define mac-name()` pragma at the top of a tiddler is private to that tiddler. This means those tiddlers are not available in other tiddlers.
!! The importvariables widget
It is possible to restrict the scope of work of macros and variables in Tiddlywiki, to do that:
# Put all your private macro inside some tiddlers and tag them for example with `privateMacro` or whatever you like.
# Use the `<$importvariables filter="[tag[privateMacro]]">` everywhere you want to use them
<<alert info "''Note'': From TW 5.1.18 and later, The `\import` pragma is an alternative syntax for using the `importVariables` widget. ">>
! Example
<$tiddler tiddler="Private Macro: A Case Study">
!!{{!!title}}
<$transclude/>
</$tiddler>
GoToTab is a guide to help you create a link that, when clicked, opens a specific tab somewhere.
The below macro was introduced by {{!!responder}} to create a filter to compare two numbers and return the bigger one
```
\define gt(a, b) $a$ $b$ +[nsort[]last[1]remove[$b$]]
```
!! Remarks
* `a`, `b`' two number as input parameters
* `gt` filter will return `a`, if it is greater than `b`
Based on this idea, the below macro is developed to return the smaller number
```
\define lt(a, b) $a$ $b$ +[nsort[]first[1]remove[$b$]]
```
!! Remarks
* `a`, `b`' two number as input parameters
* `lt` filter will return `a`, if it is less than `b`
See [[Example 53|Example 53: Greater and Less Than Macro]]
\define toc-caption()
<$set name="tv-wikilinks" value="no">
<$transclude field="caption">
<$view field="title"/>{{||$:/core/ui/ViewTemplate/tags}}
</$transclude>
</$set>
\end
\define toc-body(tag,sort:"",itemClassFilter,exclude,path)
<ol class="tc-toc">
<$list filter="""[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$""">
<$vars item=<<currentTiddler>> path="""$path$/$tag$""" excluded="""$exclude$ -[[$tag$]]""">
<$set name="toc-item-class" filter="""$itemClassFilter$""" emptyValue="toc-item" value="toc-item-selected">
<li class=<<toc-item-class>>>
<$list filter="[all[current]toc-link[no]]" emptyMessage="<$link><<toc-caption>></$link>">
<<toc-caption>>
</$list>
<$macrocall $name="toc-body" tag=<<item>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$""" exclude=<<excluded>> path=<<path>>/>
</li>
</$set>
</$vars>
</$list>
</ol>
\end
! Description
How to customize the `toc` macro to list tiddlers and their tags below?
```
<<toc solution>>
```
<<toc solution>>
The usual handling of [[paragraphs in wikitext|Paragraphs in WikiText]] causes single line breaks to be ignored, and double linebreaks to be interpreted as the end of a paragraph. This behaviour isn't convenient when dealing with material that incorporates hard linebreaks - for instance, poetry. You can mark a block of content as containing hard line breaks like this: <<wikitext-example src:'""" This is a line and this is a new line while this is yet another line and this is the final one apart from this one """'>>
This is a simple plugin to convert any word in your text field starting with a predefined symbol into tags of that tiddler upon saving. !! How it works * Go to Control Panel > Appearance > Hashtag2tag and define a symbol. For eg: `#` or `&` * Done!! Now you can create a new tiddler and type in your text with hashtags and save.
Headings are specified with one up to six leading `!` characters: ``` ! This is a level 1 heading !! This is a level 2 heading !!! This is a level 3 heading ``` CSS classes can be assigned to individual headings like this: <<wikitext-example src:"" "!!.myStyle This heading has the class `myStyle`">>
<<docit>>
! How fields are hidden from editor? * Fields are hidden from the editor if the tiddler with the title `$:/config/EditTemplateFields/Visibility/` plus the name of the field contains "hide". For example, `$:/config/EditTemplateFields/Visibility/title` * The implementation details can be seen in the shadow tiddler $:/core/ui/EditTemplate/fields ! Example If you want to hide the `note` field from editor * create a tiddler titled `$:/config/EditTemplateFields/Visibility/note` * Put `hide` inside its text (bodey) ! To see what fields are hidden * Try the following in the "filter" tab of advanced search: > `[all[shadows+tiddlers]prefix[$:/config/EditTemplateFields/Visibility/]]`
<$macrocall $name="wikitext-example-without-html" src="""<$list filter="[has[myfilter]count[]]" variable=result > <$reveal default="0" type="match" text=<<result>>> NOTHING HERE FOLKS! </$reveal> <$reveal default="0" type="nomatch" text=<<result>>> <<result>> </$reveal> </$list> """/> Also: * [[Mark S|https://groups.google.com/d/msg/tiddlywiki/W1AZ8kUM2g8/FFH27RysAQAJ]]
;How to hide part of text in a tiddler?
:There several ways, commenting, using css
!!Solution i
Using the html commenting
```
<!--
My text I want to hide
-->
```
!! Solution ii
Use style and classes in wikitext.
```
@@display:none;
This is hidden text
@@
```
!! Solution iii
Use html with inline styles.
```
<div style="display:none;">
This is hidden text.
</div>
```
!! Solution iv
Here is other hide stuff tricks
```
<$list filter="[{$:/config/debugmode}match[yes]]" variable=nul>
some stuff that will only show when in debug mode
</$list>
```
!! Solution v
Hide on demand (by Eric Shulman). This uses a button with reveal widget.
```
<$button class="tc-btn-invisible" popup=<<qualify "$:/temp/popup">>>
!heading text
</$button>
<$reveal type="nomatch" state=<<qualify "$:/temp/popup">> text="">
section content goes here
</$reveal>
```
<<docit>> Also doc the recent Q&A by Eric on hidding the tag wrapper url: https://groups.google.com/d/msg/tiddlywiki/yKiksOA-omg/8LoMoaBOAgAJ This is a wonderful solution also by Eric: https://groups.google.com/d/msg/tiddlywiki/Rjx1qERJ0VI/YIlf46mXAAAJ
;Is it possible to hide the username, time stamp and tags in printed tiddlers?
Put the following CSS syntax in a tiddler, tagged with `$:/tags/Stylesheet`:
```css
@media print {
.tc-subtitle {display:none;}
.tc-tags-wrapper {display:none;}
}
```
This small code will hide the tags wrapper and subtitle (includes username, modified date stam) from printing.
;How a table of contents can be displayed as tree like with connected colorful branches?
: It needs a custom TOC macro and stylesheet
[[List Tree]] has been developed by //twMat// a stylesheet to reshape a bullet list into tree like display. It can be used with the below customized macro from [[Mark S|https://groups.google.com/d/msg/tiddlywiki/g0W0mcy1cW0/adMBHO5_BAAJ]].
!! Customised TOC macro
Note that, the "toc2" is the macro you will need to create to get your tree like table of contents. Install the [[List Tree]] plugin if you haven't already.
Then create a new tiddler and tag it `$:/tags/Macro`. Put in the following contents:
```
\define toc-body2(tag,sort:"",itemClassFilter,exclude,path)
<ul class="list-tree">
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
<$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}} excluded="""[enlist<__exclude__>] -[<__tag__>]""">
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item" value="toc-item-selected">
<li class="xlist-tree">
<$list filter="[all[current]toc-link[no]]" emptyMessage="<$link><$view field='caption'><$view field='title'/></$view></$link>">
<<toc-caption>>
</$list>
<$macrocall $name="toc-body" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>
</li>
</$set>
</$vars>
</$list>
</ul>
\end
\define toc2(tag,sort:"",itemClassFilter:" ")
<$macrocall $name="toc-body2" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />
\end
```
!! Usage
To call the TOC with the title of the current tiddler, use:
```
<$macrocall $name="toc2" tag=<<currentTiddler>>/>
```
You can include a horizontal rule with three or more dashes on their own on a line: <<wikitext-example src:" --- ">>
<<docit>> ``` Note that I tried an alternative to your "[<newTitle>] -[has[title]] -[[]]" filter, using "[<newTitle>!is[tiddler]]" instead, but it had the same problem. ```
<<docit>> ;Resources * http://t5a.tiddlyspot.com/ (by Andrew Harrison) * *
;Backtic inside backticks Tiddlywiki uses the <code>`backticks`</code> to create code as wikitext. Sometimes it is needed to have a backtic inside a code segment. The solution is the use of double backticks to delineate a run of monospaced text. Using double backticks allows single backticks to occur in the intervening text. !! Example <<wikitext-example-without-html src:"""`` A set of single `backticks` inside double backticks`` """>> !! More info See [[Wikitext formatting|https://tiddlywiki.com/#Formatting%20in%20WikiText]]
Assume the `My Alert Class Dictionary` data (dictionary) tiddler has the below content ``` primary:x secondary:x info:x success:x warning:x danger:x light:x dark:x ``` How use a filter to list all indexes except `info` and `light`? You can only do boolean subtract on an entire filter run -- not inside a run. So this might work for the first part: `[[My Alert Class Dictionary]indexes[]addprefix[bg-]]` If you just wanted to remove info and light, then maybe this: ` [[My Alert Class Dictionary]indexes[]!prefix[info]!prefix[light]addprefix[bg-]]` As an example see below: ``` <$list filter="[[My Alert Class Dictionary]indexes[]!prefix[info]!prefix[light]addprefix[bg-]]" variable="alert-type"> <<alert type>><br> </$list> ```
;When an `$edit-text` widget is tagged 'textarea' we get a multi-line resizable text editor, how to prevent/disable resizing textarea?
:Use CSS property
There’s a CSS property that lets you control resizability of text areas. This will disable resizing on all textareas:
```css
textarea {
resize: none;
}
```
If it is desired to disable resizing a specified textarea then wrap it in a div element as below
```css
.mycls textarea {
resize: none;
}
```
and use it as below
```
<div class="mycls">
<$edit-text tiddler="yourTid" field="your-field" tag="textarea"/>
</div>
```
The sidebar is generated like this: ``` <$list filter="[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]" variable="listItem"> <$reveal type="nomatch" state=<<config-title>> text="hide" tag="div"> <$transclude tiddler=<<listItem>> mode="block"/> </$reveal> </$list> ``` (See $:/core/ui/PageTemplate/sidebar).
\define applyTag()
<!-- first remove tag -->
<$list filter="[search:title[exmp065/data]tag[exmp065]]">
<$fieldmangler>
<$action-sendmessage $message="tm-remove-tag" $param="exmp065"/>
</$fieldmangler>
</$list>
<!-- then add tag -->
<$tiddler tiddler={{exmp065/state}}>
<$fieldmangler>
<$action-sendmessage $message="tm-add-tag" $param="exmp065"/>
</$fieldmangler>
</$list>
</$tiddler>
\end
<<docit>>
[[Read this and see it would be solved|https://groups.google.com/d/msg/tiddlywiki/cV1Gs0RV6Jg/XPspaCj2DAAJ]]
;How swith a tag among a set of tiddlers? Only one tiddler can have the tag at a time!
: The solution is to use `select` widget and an action macro
The below example demonstrate how to switch a tag among set of tiddlers. The code has two parts
# select widget to choose one tiddler among set of tiddlers
# action macro to set tag to the selected tiddler and remove it from previous tiddler
Here for this example, tag `exmp065` between three tiddlers is switched. Only one tiddler has the tag at a time. The action macro called `applyTag` is as below
```
\define applyTag()
<!-- first remove tag -->
<$list filter="[search:title[exmp065/data]tag[exmp065]]">
<$fieldmangler>
<$action-sendmessage $message="tm-remove-tag" $param="exmp065"/>
</$fieldmangler>
</$list>
<!-- then add tag -->
<$tiddler tiddler={{exmp065/state}}>
<$fieldmangler>
<$action-sendmessage $message="tm-add-tag" $param="exmp065"/>
</$fieldmangler>
</$list>
</$tiddler>
\end
```
<$macrocall $name="wikitext-example-without-html"
src="""<$select
tooltip="select a tiddler"
tiddler="exmp065/state"
field="text"
actions=<<applyTag>>
>
<$list filter="[search:title[exmp065/data]]" variable="tid">
<option value=<<tid>> > <<tid>> </option>
</$list>
</$select>
"""/>
;How display a tiddler in sidebar without modifying it or tagging it with? :Use a tab with input to select and transclude the tiddler !! Example The below tiddler creates a sidebar tab for displaying tiddler temporarily on the sidebar. > <<code-link "exmp116/sidebar">> * To give a try, simply open [[exmp116/sidebar]] and tag it with `$:/tags/Sidebar`. A new sidebar tab called `Temporary` will appear in the sidebar. * Enter the title of a tiddler and it will be shown under the edit textbox with a link to the displayed tiddler. ;Remarks : the $edit-text widget gets the tiddler title from the user : the $list widget checks if the entered title is existed : if entered title is existed, a link to tiddler with its contentent will be displayed
在侧边栏菜单中创建一个新的页签: # 创建一个条目,并设其标签为[[系统标签|SystemTags]] [[$:/tags/SideBar]] #* 若要创建目录,你可以可以使用[[目录宏|Table-of-Contents Macros]]填入新页签条目。请参阅 [[TableOfContents]] # 缺省情况下,条目名称用作页签的标题,但您可以使用 `caption` 字段替换之 # 若要定义的页签顺序,请使用 `list-after` 或 `list-before` 字段,如同于 [[Tagging]] 所述的 #* 例如:设置 `list-after` 到 [[$:/core/ui/SideBar/Open]] 可紧接于"开启"页签之后放置一个侧栏页签 请注意,您可以通过使用标签 `$:/tags/MoreSideBar` 以同样的方式创建"更多"页签下的新页签。
;What is the simple method to add an image, logo to sidebar"? :The clean way is to create or add the content to a tiddler tagged with `$:/tags/SideBarSegment` !! Solution * just use the system tag `$:/tags/SideBarSegment` to introduce any new element like your image to the sidebar * click on a tag pill for <<tag $:/tags/SideBarSegment>> to change the order. This will just add the logo and leave the [[$:/SiteTitle]] intact, but if you then want to hide the title, change only its display in the sidebar (remove `$:/tags/SideBarSegment` tag on $:/core/ui/SideBarSegments/site-title), since the site title is used to construct the save filename, the tab title and more "leave it alone). <<alert info "It is possible to add image through [[Info tab|$:/core/ui/ControlPanel/Info]] from control panel. But this is not the recommended method!">>
\define fluidSidebar()
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/storywidth" $field="text" $value={{{ [[$:/themes/tiddlywiki/vanilla/metrics/storywidth2]get[text]addsuffix[px]] }}} />
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/storyright" $field="text" $value={{{ [[$:/themes/tiddlywiki/vanilla/metrics/storywidth2]get[text]addsuffix[px]] }}} />
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth" $field="text" $value={{{ [[$:/themes/tiddlywiki/vanilla/metrics/storywidth2]get[text]subtract[86]addsuffix[px]] }}} />
\end
\define fixedSidebar()
<$action-setfield $tiddler="$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth" $field="text" $value={{{ [[$:/themes/tiddlywiki/vanilla/metrics/storywidth2]get[text]addsuffix[px]] }}} />
\end
\define setTiddlerwidth()
<$range tiddler="$:/themes/tiddlywiki/vanilla/metrics/storywidth2" min="600" max="1000" default={{{ [[$:/themes/tiddlywiki/vanilla/metrics/storywidth]removesuffix[px]] }}} increment="1" actions=<<myactions>>/>
{{$:/themes/tiddlywiki/vanilla/metrics/storywidth2}}
<$set name=SidebarLayout tiddler="$:/themes/tiddlywiki/vanilla/options/sidebarlayout" field=text>
<$reveal type="match" text=<<SidebarLayout>> default="fixed-fluid")>
<$button actions=<<fluidSidebar>>>Set</$button>
</$reveal>
<$reveal type="match" text=<<SidebarLayout>> default="fluid-fixed")>
<$button actions=<<fixedSidebar>>>Set</$button>
</$reveal>
</$set>
\end
<<setTiddlerwidth>>
<<docit>>
<<show-macro>>
;Is there any simple way to provide a link to download a complete wiki? : the standard html syntax provide such feature Using standard HTML syntax: <$macrocall $name="wikitext-example-without-html" src="""<a href="#" download="targetname.html"> download this file </a> """/> ;Notes * The "targetname.html" is a ''suggested'' filename for saving the downloaded file. Some platforms may ignore this value and assign their own default filename. * If your browser is configured to "ask for filename", you will get a platform-specific dialog box that will allow you to change the filename and/or the folder in which the file will be stored. * Some older browser versions do not support use of the "download" attribute. See https://caniuse.com/#search=download for more info. ;Important : This will not save recently edited and unsaved tiddlers. <<alert info "Tiddlywiki provides more sophisticated procedures for dowloading a customized selection of wiki file. See [[download empty|https://tiddlywiki.com/prerelease/#Empty%20Edition]] and [[tm-download-file|https://tiddlywiki.com/prerelease/#WidgetMessage%3A%20tm-download-file]]">>
<<docit>>
<$macrocall $name="wikitext-example-without-html"
src="""<style>
.exp-truncate {
width: 250px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
<div class="exp-truncate">
This is a test and my words are longer than 20px width,
</div>
"""/>
Some resources that might be helpful for writting new plugins in Tiddlywiki: * https://tiddlywiki.com/#Plugins contains a brief explanation of what a plugin actually is, and how it works * https://tiddlywiki.com/dev/#Developing%20plugins%20using%20Node.js%20and%20GitHub explains how to create plugins under Node.js * https://tiddlywiki.com/dev/#How%20to%20create%20plugins%20in%20the%20browser is a brief guide to creating plugins in the browser * https://github.com/Jermolene/TiddlyWiki5/tree/master/plugins/tiddlywiki is a list of the official core plugins. Good simple examples include “blog”, “comments” and “help" !!! Tinka plugin packager <<< The Tinka plugin provides the ability to create and modify plugins in the browser, without requiring the use of Node.js. See https://github.com/TinkaPlugin/Tinka for the GitHub repo, and demo page at https://tinkaplugin.github.io/ <<<
Chris Hunt did a nice walkthrough a few years ago: http://cjhunt.github.io/ Bonus - it’s made with v5.0.7, which now seems ancient. But not much has changed since then, so I’d expect the material to still work. Alternatively, you could read through some of the core widgets in reverse order of complexity. https://github.com/Jermolene/TiddlyWiki5/tree/master/core/modules/widgets The “text" widget is a good place to start; it just renders a string of text provided as an attribute: https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/widgets/text.js The “codeblock” is marginally more complex: it renders a `<code>/<pre>` pair to contain it’s rendered children: https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/widgets/codeblock.js The “vars” widget introduces variable assignments: https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/widgets/vars.js The “count” widget is a good example of a simple widget with a slightly more complicated refresh strategy: it only refreshes itself if the count has changed: https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/widgets/count.js Finally, the “keyboard” widget is a simple example of a widget with an event handler: https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/widgets/keyboard.js
How to list (with list-links) everything tagged with "myTag" that also begins with the current year and month (specifically in the format "YYYY.0MM.") * Solution <<< Use a set widget and first store your desired date into a varaibale. Here the current year and month can be generated using the `now` macro as `<<now YYYY.0MM.>>`. Other date formats can also be used. ``` <$set name="mydate" value=<<now YYYY.0MM.>> > <<list-links "[tag[myTag]prefix<mydate>]">> </$set> ``` <<<
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
After you create your custome sidebar,create one tiddler as the first level directory tiddler,the tag name is tittle name of created sidebar tiddler ,then create a group of tiddle as you need,these tag name of this group of tiddler should be the tittle name of first level tiddler. > 1. create a sidebar tiddler ,this tidder can look as the root directory > 2.create a tiddler as the first level directory of the root directory that you created in step one > 3.you can create a lot of tiddler ,you only keep the tag name the same as the tittle of first level directory tiddler . > * what you do to make a content tree is same as you create directory and subdirectory and files under windows system。
create a new tiddler,tag must set to be $:/tags/SideBar,then text of the new tiddler copy and paster below coder: ``` <div class="tc-table-of-contents"> <<toc-selective-expandable 'YourContentsName' sort[title]>> </div> ``` and title of this tiddler must be YourContentsNmae。 //after create sidebar tiddler,you can create a new tiddler as the child tiddler of the sidebar tiddler.How can this do the right work? you only need to named the tag of this child tiddler the same with the title of the sidebar tiddler ,the title of this child tiddler you create is freely for your need.
HTML tags and comments can be used directly in WikiText. For example:
```
<article class="hello">
This is my nice and simple block of text. HelloThere
<!-- This comment will not appear in the wikified output -->
</article>
```
[[Widgets share the same syntax as HTML tags|Widgets in WikiText]], and so the following information applies to them, too.
! Block mode versus Inline mode
To get the content of an HTML element to be parsed in block mode, the opening tag must be followed by two linebreaks.
Without the two linebreaks, the tag content will be parsed in inline mode which means that block mode formatting such as wikitext tables, lists and headings is not recognised.
! Self closing elements
The following tags are treated as 'void'. This means that `<tag>` is treated as if it were `<tag/>`, and that no terminating `</tag>` is needed (if one is provided it will be ignored and treated as plain text).
* `<area>`, `<base>`, `<br>`, `<col>`, `<command>`, `<embed>`, `<hr>`, `<img>`, `<input>`, `<keygen>`, `<link>`, `<meta>`, `<param>`, `<source>`, `<track>`, `<wbr>`
If you don’t close any other tag then it will behave as if the missing closing tag were at the end of the tiddler.
! Attributes
In an extension of conventional HTML syntax, attributes of elements/widgets can be specified in several different ways:
* a literal string
* a transclusion of a TextReference
* a transclusion of a [[macro/variable|Macros in WikiText]]
* as the result of a [[Filter Expression]]
!! Literal Attribute Values
Literal attribute values can use several different styles of quoting:
* Single quotes (eg `attr='value'`)
* Double quotes (eg `attr="value"`)
* Tripe double quotes (eg `attr="""value"""`)
* No quoting is necessary for values that do not contain spaces (eg `attr=value`)
Literal attribute values can include line breaks. For example:
```
<div data-address="Mouse House,
Mouse Lane,
Rodentville,
Ratland."/>
```
By using triple-double quotes you can specify attribute values that contain single double quotes. For example:
```
<div data-address="""Mouse House,
"Mouse" Lane,
Rodentville,
Ratland."""/>
```
!! Transcluded Attribute Values
Transcluded attribute values are indicated with double curly braces around a TextReference. For example:
```
attr={{tiddler}}
attr={{!!field}}
attr={{tiddler!!field}}
```
!! Variable Attribute Values
Variable attribute values are indicated with double angle brackets around a [[macro invocation|Macro Calls in WikiText]]. For example:
```
<div title=<<MyMacro "Brian">>>
...
</div>
```
!! Filtered Attribute Values
Filtered attribute values are indicated with triple curly braces around a [[Filter Expression]]. The value will be the first item in the resulting list, or the empty string if the list is empty.
This example shows how to add a prefix to a value:
```
<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />
```
The new html5 date attribute example
<style>
.user-form { padding:20px; }
.user-form .field { padding: 4px; margin:1px; background: #eee; }
.user-form .field label { display:inline-block; width:120px; margin-left:5px; }
.user-form .field input { display:inline-block; }
</style>
<form class="user-form">
<div class="field">
<label for="firstname">First Name:</label>
<input name="firstname" type="text" size="50" autofocus />
</div>
<div class="field">
<label for="lastname">Last Name:</label>
<input type="text" name="lastname" size="50" />
</div>
<div class="field">
<label for="birthdate">Birth Date:</label>
<input type="date" name="bdate" size="50" />
</div>
<form>
The HTML Details Element (`<details>`) creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state. A summary or label can be provided using the `<summary>` element.
<<vspace 1cm>>
<<wikitext-example-without-html
src:"""
<details>
<summary>Details</summary>
Something small enough to escape casual notice.
</details>
""">>
The below example shows some html5 form features.
<<vspace 1cm>>
<<wikitext-example-without-html
"""<style>
form.form-example {
display: table;
background: #eee;
padding:15px;
}
div.form-example {
display: table-row;
}
.form-example label, .form-example input {
display: table-cell;
margin-bottom: 5px;
}
.form-example label {
padding-right: 10px;
}
</style>
<form action="" method="get" class="form-example">
<div class="form-example">
<label for="name">Enter your name: </label>
<input type="text" name="name" id="name" required>
</div>
<div class="form-example">
<label for="email">Enter your email: </label>
<input type="email" name="email" id="email" required>
</div>
<div class="form-example">
<input type="submit" value="Subscribe!">
</div>
</form>
""">>
\define if(fieldname test do) <$list filter="[is[current]field:$fieldname$[$test$]]" variable="null"> $do$ </$list> \end The below macro proposed by Tony in [[Forum|https://groups.google.com/d/msg/tiddlywiki/te5Nbrm9c2c/SnGJDUasBQAJ]] and modified by [[Mark S|https://groups.google.com/d/msg/tiddlywiki/te5Nbrm9c2c/QfE1uZDKBQAJ]] !!! Code ``` \define if(fieldname test do) <$list filter="[is[current]field:$fieldname$[$test$]]" variable="null"> $do$ </$list> \end ``` It can do something against the contents of a field in the currentTiddler. * `fieldname`: the name of field in current tiddler * `test`: the content of filed * `do`: string of what to be done !!! ''Example'' ``` <<if note "Hi Mohammad" do:""" Hello, your note field contains Hi Mohammad! * Hi * Mohammad """>> ``` Results in: <<< <<if note "Hi Mohammad" do:""" Hello, your note field contains Hi Mohammad! * Hi * Mohammad """>> <<<
This macro offers a solution for simple if-then-else text generation. It presents some added value compared to the reveal widget: it accepts variables as well as transclusions and it can show an error message.
\define if(filter,ifyes,ifno) <$list filter="""$filter$ +[limit[1]]""" name=act emptyMessage=<<$ifno$>>> <<$ifyes$>> </$list> \end \define ifyes() YES! \define ifno() NO! The below simple macro can do different things based on the filter content. It uses a list widget, if the filter run has some output then the `ifyes` part is run if the filter result is empty then the `ifno` part will be run. !!! Input parameters * `filter`: a standard TW filter * `ifyes`: a macro to be run if filter output is NOT empty * `ifno`: a macro to be run if filter output IS empty !!! Code ``` \define if(filter,ifyes,ifno) <$list filter="""$filter$ +[limit[1]]""" emptyMessage=<<$ifno$>>> <<$ifyes$>> </$list> \end \define ifyes() YES! \define ifno() NO! ``` !!! Example ``` <<if "[title[GettingStarted]] +[has[title]]" ifyes ifno>> ```
* 在单独使用Vlookup比对查询时,如果查询不到合适的数据,vlookup()函数就返回一个错误值,电子表格中显示一串错误信息作为查询结果,这样会让最后的结果表可读性不好,还需要使用批量的查询和替换来替换错误信息为指定的数据。 *把Vlookup()的返回值作为IfError(value,value-if_false)的第一个参数,如果value为错误的值,则第二个参数的值就是IfError()函数的值;如果value为正确的值,则value就是IfError()函数的返回值,也就是Vlookup()函数正确匹配的数据。 *IfError(value,value-if-error),用来判断value的正确性,如果value正确则返回value,否则返回value_if_error。
I have a plain text tiddler, that contains a HTML page including head and body, javascript, including libraries etc... How is it possible to load it through iframe?
!! Example
The [[Example 32: Test.html]] contains HTML page. Using iframe as below it is possible to laod it.
<<wikitext-example-without-html
src:"""<iframe src={{{ [[Example 32: Test.html]get[text]encodeuricomponent[]addprefix[data:text/html;charset=utf-8,]] }}} width=100% height=300/>
""">>
\define image(tiddler, width:"128")
<$tiddler tiddler=<<__tiddler__>>>
<$image source={{!!title}} width=$width$ tooltip={{!!caption}}/>
</$tiddler>
\end
! Image with tooltip
```
<<image pig.png 64>>
```
Hover mouse on image
<<image pig.png 64>>
! Image Formatting
Images can be included in WikiText with the following syntax:
```
[img[Motovun Jack.jpg]]
[img[https://tiddlywiki.com/favicon.ico]]
```
You can also insert images from the editor toolbar. Click ''picture'' (<<.icon $:/core/images/picture>>) and select a picture file.
If the image source is the title of an image tiddler then that tiddler is directly displayed. Otherwise it is interpreted as a URL and an HTML `<img>` tag is generated with the `src` attribute containing the URL.
A tooltip can also be specified:
```
[img[An explanatory tooltip|Motovun Jack.jpg]]
```
Attributes can be provided to specify CSS classes and the image width and height:
```
[img width=32 [Motovun Jack.jpg]]
[img width=32 class="tc-image" [Motovun Jack.jpg]]
```
Note that attributes can be specified as transclusions or variable references:
```
[img width={{!!mywidth}} class=<<image-classes>> [Motovun Jack.jpg]]
```
The image syntax is a shorthand for invoking the ImageWidget.
! Displaying Images via Transclusion
You can also display an image stored in a tiddler by transcluding that tiddler. The disadvantage of this approach is that there is no direct way to control the size of the image.
```
{{Motovun Jack.jpg}}
```
Renders as:
{{Motovun Jack.jpg}}
! Images as Links
```
<$link to="HelloThere" tooltip="Custom tooltip">{{$:/core/icon}}</$link>
```
Renders as:
<$link to="HelloThere" tooltip="Custom tooltip">{{$:/core/icon}}</$link>
! Importing Images
Use the <<.button import>> button (under the <<.sidebar-tab Tools>> tab in the sidebar), or drag and drop.
See [[ImportingTiddlers]] for details.
apart from including images from tiddlywiki inner ,using ext can also transclude img from website of internet ,such as githut.com .see example below: [img width=800 [TiddlyWikiBackGround\YellowFlowers-1.jpg]]
Any content of the `<$image>` widget is ignored. |!Attribute |!Description | |source |The URL of the image, or the title of an image tiddler | |width |The width of the image | |height |The height of the image | |tooltip |The tooltip to be displayed over the image | |alt |The alternative text to be associated with the image | |class |CSS classes to be assigned to the `<img>` element | The width and the height can be specified as pixel values (eg "23" or "23px") or percentages (eg "23%"). They are both optional; if not provided the browser will use CSS rules to size the image. ! External Images and the ''_canonical_uri'' field When used to display tiddler-based images, the image widget operates in two distinct modes: * If the ''_canonical_uri'' field is present then it is used as the ''src'' attribute of the generated `<img>` element and the ''text'' field is ignored * Without the ''_canonical_uri'' field, the image widget generates an `<img>` element that embeds the image data directly using a `data:` URI. See ExternalImages for more details.
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
TiddlyWiki //can// import JSON files, but only if the 'records' in the file contain certain field names. Most important, each JSON record must have a uniquely-valued `title` field. This is used to create the corresponding tiddler. The remaining field names in the JSON record can be anything you like. However, keep in mind that certain field names have special meanings in the TWCore system.
Specifically, `title`, `text`, `tags`, `created`, `creator`, `modified` and `modifier` should be considered not be used as general-purpose field names.
Also note that the TWCore's JSON processing does ''not'' handle complex nested JSON structures... just //plain// name/value pairs within a simple list of top level objects.
Here's an example of a simple JSON file that can be imported to create tiddlers:
@@width:60%;
<pre>
[
{
"title": "TiddlerTitleGoesHere",
"text": "Tiddler content here",
"tags": "Tiddler tags here",
"foo": "This is a field named foo",
"bar": "This is a field named bar"
},
{
"title": "AnotherTitle",
"text": "Tiddler content here",
"tags": "Tiddler tags here",
"foo": "This is a field named foo",
"bar": "This is a field named bar"
}
]
</pre>
@@
Excel中Index 和 Match的联用
通过一项关联的数据, 从另外一个表中向当前表中获取数据,可以使用index函数和match函数联用来实现。
index(要获取的数据所在的数据区域,row)
一句话就是在指定的列区域(一般是一列)按照行号进行索引,第一个参数就是指定的列区域,一般用$进行固定; 第二个参数是通过关联字段找到对应的行号。
而index()中的row如何获取呢?可以通过match()函数来返回。将当前表中的关联的数据项代入到match() ,在目标表中对应数据区域中找到相同的数据,然后由match()返回对应的行数。
注意三个要点:
1、index()函数的第一个参数。index()函数的第一个参数是指定一个要获取的数据的区域(比如表格中的姓名列)。要获取的数据区域表示方法: Sheet2!$b$2:$b$200 ,是指从表二中的B列第二行到第200行的一个数据区域。
2、match(参数1,参数2,参数3)。参数1是当前表中和目标表之间关联的数据项,比如两个表中都有身份证号且唯一,就可以通过身份证号作为关联数据项。简单的说,参数1就是当前表中的关联数据项,参数2是目标表格中的一个指定区域,用来和参数一进行关联的区域,比如身份证号区域。)
参数2是目标表中要关联的数据所在的一个数据区域,比如身份证号所在的数据区域: Sheet2!$c$2:$c$200 。简言之,就是在目标表中指定的数据区域中查找身份证号(或任何关联数据)。
参数3是指定match函数的查询方式,一般默认为0就可以。
3、关于数据格式问题。一般由应用程序从数据库中导出的数据包特定功能格式,在书写公式时可能会导致会出错,因此可以点击表格左上角的全选按钮,然后点击编辑|清除菜单下的[格式]菜单项,可以清除表格中特定的格式,这样在写公式时就不会因为格式问题而出错。
有了这三条,就可从数据库中导出表格,在任意两个可关联的表格之间获取数据。
最重要的一条:如果index()公式失效,那么最大的可能就是关联的数据包含空格,选中整列数据,使用查找替换替换掉空格就好了
;Does Tiddlywiki exports tiddlers as bookmarklet? :Yes, Tiddlywiki macros can be used to create [[bookmarklet|https://en.wikipedia.org/wiki/Bookmarklet]]. ;How create a bookmarklet to inject tiddlers into a Tiddlywiki? :The below macros create a bookmarklet with tiddlers selected through a filter. !! Macros The below code contains two macros: * the main macro `save-as-bookmarklet` * the helper macro `save-as-bookmarklet-href` <<code exmp100/macro/bookmarklet>> !!How to use *<div> In a wiki you want to create bookmarklet call the macro `save-as-bookmarklet` with desired title and filter like <$macrocall $name="wikitext-example-without-html" src="""<<save-as-bookmarklet title:"MyTiddlers" filter:"[tag[HelloThere]]">> """/> This will create a bookmarklet link </div> * Drag the bookmarklet link to the browser bookmark bar to install it and create a new bookmark. Note the title of bookmark will be the same as you selected at previous step * Visit another TiddlyWiki. Clicking the bookmarklet will inject the payload tiddlers into the target wiki.
! Standalone Configuration
Follow these instructions when using TiddlyWiki as a standalone HTML file:
# Create a backup of your current TiddlyWiki HTML file ([[just in case|The First Rule of Using TiddlyWiki]])
# Open your TiddlyWiki in a browser
# Open the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>>, click on the ''Plugins'' tab and then the <<.icon $:/core/images/download-button>> ''Get more plugins'' button
# Click <<.icon $:/core/images/chevron-right>> ''open plugin library'' to open the official plugin library
# When the library listing is loaded:
## Use the tab to select between ''plugins'', ''themes'' and ''languages''
## Use the ''search'' box to search the plugin details
# Click the ''install'' button to install a plugin
# Save your TiddlyWiki <<.icon $:/core/images/save-button>>
# If a yellow warning bar appears at the top of the window, refresh the window so that TiddlyWiki completes installation of the plugin <<.icon $:/core/images/refresh-button>>
#* <<.from-version "5.1.22">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See PluginMechanism for more details
# The plugin should now be available for use
! Client-Server Configuration
Follow these instructions when using TiddlyWiki under Node.js:
# Identify the plugins you want to install using the ''Plugins'' tab of [[control panel|$:/ControlPanel]] (''don't'' install the plugins from here, though). Plugins are identified by their type (ie language, theme or plugin) and their publisher and title. For example, the plugin `$:/plugins/tiddlywiki/internals` is referred to as ''tiddlywiki/internals''
# Quit the server if it is running
# Edit the `tiddlywiki.info` file (it is in JSON format) and locate the `plugins`, `themes` or `languages` section (see below)
# Add entries corresponding to the plugins you wish to add. Take care to retain commas to separate items, but do not terminate the last item in a list with a comma
# Restart the server
```
{
"plugins": [
"tiddlywiki/codemirror"
],
"themes": [
"tiddlywiki/vanilla",
"tiddlywiki/snowwhite"
],
"languages": [
"es-ES",
"fr-FR",
"en-EN"
]
}
```
See also [[Installing custom plugins on Node.js]].
;How to find the intersection of two filter run? : Use the [[Venn diagram|https://en.wikipedia.org/wiki/Venn_diagram]] !! Example i ``` \define f1() [enlist<x>]-[enlist<y>] \define f2() [enlist<y>]-[enlist<x>] <$vars x="1 2 3 4 5" y= "2 7 9 3" > <$list filter="[enlist<x>] [enlist<y>] -[subfilter<f1>] -[subfilter<f2>]" variable=item> <<item>> </$list> </$vars> ``` !! Example ii This solution can be used for any filter run, but may be not as efficient as above solution, because it has many macro call. ``` \define intersect-item(filter, item) <$list filter="[<__item__>] -[subfilter<__filter__>]" variable="result" emptyMessage=<<__item__>> > </$list> \end \define intersect(flt1, flt2) <$list filter=<<__flt2__>> variable=item > <$macrocall $name="intersect-item" filter=<<__flt1__>> item=<<item>> /> </$list> \end <$vars x="7 8 -1 -3 9 11" y= "1 2 3 4 5 6 7 8 9" > <$macrocall $name=intersect flt1="[enlist<x>]" flt2="[enlist<y>]" /> </$vars> ``` <<alert warning "''Note'': The `+run` filter in Tiddlywiki does not implement a real AND logical operator.">>
''Introduction to Tiddlywiki'' is a presentation made by Jeremy Ruston. It uses a new theme
; How to list all properties (index/value pairs) of a DataTiddler into a table?
This example is similar to [[Listing DataTiddler Properties]] and use the same DataTiddler.
<$macrocall $name="wikitext-example-without-html"
src="""<table>
<tr>
<th>index</th>
<th>value</th>
</tr>
<$set name="data" value="exmp039/acronyms/web">
<$list filter="[<data>indexes[]sort[title]]">
<tr>
<td>{{!!title}}</td>
<td><$transclude tiddler=<<data>> index=<<currentTiddler>>/></td>
</tr>
</$list>
</$set>
</table>
"""/>
<<list-links "[tag[JavaScript]sort[title]]">>
;How to develop a JavaScript macro? There are two separate cases here: # Being able to use custom javascript code to do calculations and other logic # Loading the code "on-the-fly" As has been noted, (2) is problematic from a security standpoint... so let's just ignore that and focus on (1)... Fortunately, the solution is //already provided// by the TWCore. You can use https://tiddlywiki.com/dev/#JavaScript%20Macros to define custom javascript functions that are loaded during startup processing (just like plugins). Then, after startup, these javascript functions can be invoked from within tiddler content using the standard macro syntax (e.g., `<<myMacro arg1:"foo" arg2:"bar">>` or `<$macrocall $name="myMacro" ... />`. In addition, just like the definition of regular in-line macros (created using `\define foo(...)`), a javascript macro's "job" is simply to generate and return content for further rendering by the TWCore engine. A good example of a simple javascript macro can be found here: https://tiddlywiki.com/#%24%3A%2Fcore%2Fmodules%2Fmacros%2Fnow.js This code shows the definition of the TWCore's `<<now>>` macro, which accepts one optional parameter -- a datetime format -- and returns the corresponding datetime text as it's result. In addition to the `<<now>>` macro, there are several other javascript macros of varying complexity that are part of the TWCore. Use <<advanced-search>> to search the *shadow* tiddlers for "core/modules/macros" and you will see about a dozen results for you to study.
#使用GitHub之前有必要学习一下git,廖雪峰的Git教程就很好。使用github pages就去看它的官方文档,在看看jekyll的官方文档。使用jekyll初始化一个博客工程后,就算是搭建好博客了。说30分钟搭建好指的是安装jekyll环境,到初始化成功,在本地4000端口上可以运行。初始的博客非常简陋,需要自己重新设计界面,添加交互等。这些后续的工作可能会持续1-2个月,最后使博客稳定下来。你要有HTML,css,JavaScript基础。在去了解一下jekyll的liquid语法。 # markdown语法2个小时就掌握了。jekyll是个博客引擎。 #建议使用git命令行,github客户端就是坑。fork的目的是为了给原作者提供代码贡献,为了pullrequest的。再说一遍,不要使用github客户端,我被坑过不知一次。 #是因为你没有安装jekyll环境,github官方是提供这个服务环境的,所以通过github可以正常浏览,本地不行。安装好环境后,通过4000端口就可以浏览了。 #不要使用github客户端。 #在本地编辑,直接修改post文件夹下的Markdown文件,具体可以看jekyll官网的说明。 #启动好jekyll后,在localhost:4000上看,就应该是正常的,不要直接打开html文件。 #编译后的效果问题,你误删了css文件?或者不小心把head中的<link>标签修改了?总之是css样式不对。 还有最关键的一点,搭建好博客后,如果使用的别人的模板,记着修改掉这些东西: ·统计代码。如百度统计或者google统计,这样避免麻烦原博主屏蔽一些别的来访id。 ·评论代码。找到别人博客的评论代码,如disqus代码,或者多说评论的代码,否则你的评论会在别人的评论后台提示,自己却看不到提示。 ======== 去看jekylI英文的官方文档吧,原汁原味的最适合你。中文的抄来抄去,真的不如静下来去看看官方的英文文档。 https://www.zhihu.com/question/30018945?sort=created
<div class="tc-table-of-contents"> <<toc-selective-expandable 'WikiText'>> </div>
; Why linebreaks cause filter not work?
Joe Armstrong asked why the below code with pattern A works, but with pattern B does not work?
Why linebreaks cause the code stop working?
* Pattern A
```
<$set name="username" value={{$:/status/UserName}} emptyValue="(anonymous)">
<$set name="target" filter="[<currentTiddler>]">
<$action-createtiddler
$basetitle={{{ [[Comment by ']] +[addsuffix<username>] +[addsuffix[' on ' ]] +[addsuffix<currentTiddler>] +[addsuffix[']] }}}
role="comment" list=<<target>> text="" edit-mode="yes"/>
</$set>
</$set>
```
*Pattern B
```
<$set name="username"
value={{$:/status/UserName}}
emptyValue="(anonymous)">
<$set name="target"
filter="[<currentTiddler>]">
<$action-createtiddler
$basetitle={{{ [[Comment by ']]
+[addsuffix<username>]
+[addsuffix[' on ' ]]
+[addsuffix<currentTiddler>]
+[addsuffix[']] }}}
role="comment"
list=<<target>>
text=""
edit-mode="yes"/>
</$set>
</$set>
```
!! Answer
* The first pattern is not readable and error prone.
* The second pattern is readable.
* Although filters accept newlines as whitespace, the filtered attribute parser does not accept newlines. Thus this example does not work unless the newline is removed.
See [[GitHub Ticket 3692|https://github.com/Jermolene/TiddlyWiki5/issues/3692]]
; How to open a PDF file from inside TW and go to a specific page ``` [ext[your-label|pdf-file-address#page=pg-number]] ``` * Example ``` [ext[Math book|archive\books\math.pdf#page=4]] ``` See demos: * Simple demo: [[Example 26|demo/exmp026/link-pdf-to-page]] * Elegant demo (some data are stored in fields) [[Use of tiddler path|demo/exmp026/link-pdf-use-tiddlerpath]]
<<docit>>
A key capability of WikiText is the ability to make links to other tiddlers or to external websites. ! Manual Links Link to a tiddler by title: ``` [[Tiddler Title]] ``` To link to a tiddler and specify the text of the link: ``` [[Displayed Link Title|Tiddler Title]] ``` You can also create a link from the editor toolbar. Click ''link'' (<<.icon $:/core/images/link>>), and search and select a tiddler. ! ~CamelCase Links For tiddler titles that match the CamelCase rules, just typing the title without double square brackets will automatically create a link. You can suppress a link from being recognised by preceding it with `~`. For example: <<wikitext-example src:"* ~HelloThere is not a link * ~http://google.com/ is not a link">> ! External Links To link to an external [[resource|https://en.wikipedia.org/wiki/Web_resource]] such as a website or a file, type its //full// [[URL|https://en.wikipedia.org/wiki/URL]], including the [[URI scheme|https://en.wikipedia.org/wiki/URI_scheme]] such as a protocol (e.g. `http://`, `file://`) or `mailto`: ``` https://tiddlywiki.com/ [[TW5|https://tiddlywiki.com/]] [[Mail me|mailto:me@where.net]] [[Open file|file:///c:/users/me/index.html]] ``` For this syntax to work, the URL has to be recognisable as a URL. Otherwise, it is treated as a tiddler title. As a result, in case you want to link to a resource locatable using a relative path, use the extended syntax: ``` [ext[Open file|index.html]] [ext[Open file|./index.html]] [ext[Open file|../README.md]] [ext[Open file|c:\users\me\index.html]] ``` The extended syntax still works with full URLs, although in that case it is not necessary: ``` [ext[https://tiddlywiki.com]] [ext[TW5|https://tiddlywiki.com]] [ext[Mail me|mailto:me@where.net]] [ext[Open file|file:///c:/users/me/index.html]] ``` You can also use the extended syntax to force an external link: ``` [ext[Donate|bitcoin:1aabbdd....?amount=0.001]] ``` ! Customising Tiddler Links See the LinkWidget for details of the underlying widget used to implement tiddler links, including macros that can be used to customise its behaviour.
A key capability of WikiText is the ability to make links to other tiddlers or to external websites. ! Manual Links Link to a tiddler by title: ``` [[Tiddler Title]] ``` To link to a tiddler and specify the text of the link: ``` [[Displayed Link Title|Tiddler Title]] ``` You can also create a link from the editor toolbar. Click ''link'' (<<.icon $:/core/images/link>>), and search and select a tiddler. ! ~CamelCase Links For tiddler titles that match the CamelCase rules, just typing the title without double square brackets will automatically create a link. You can suppress a link from being recognised by preceding it with `~`. For example: <<wikitext-example src:"* ~HelloThere is not a link * ~http://google.com/ is not a link">> ! External Links To link to an external [[resource|https://en.wikipedia.org/wiki/Web_resource]] such as a website or a file, type its //full// [[URL|https://en.wikipedia.org/wiki/URL]], including the [[URI scheme|https://en.wikipedia.org/wiki/URI_scheme]] such as a protocol (e.g. `http://`, `file://`) or `mailto`: ``` https://tiddlywiki.com/ [[TW5|https://tiddlywiki.com/]] [[Mail me|mailto:me@where.net]] [[Open file|file:///c:/users/me/index.html]] ``` For this syntax to work, the URL has to be recognisable as a URL. Otherwise, it is treated as a tiddler title. As a result, in case you want to link to a resource locatable using a relative path, use the extended syntax: ``` [ext[Open file|index.html]] [ext[Open file|./index.html]] [ext[Open file|../README.md]] [ext[Open file|c:\users\me\index.html]] ``` The extended syntax still works with full URLs, although in that case it is not necessary: ``` [ext[https://tiddlywiki.com]] [ext[TW5|https://tiddlywiki.com]] [ext[Mail me|mailto:me@where.net]] [ext[Open file|file:///c:/users/me/index.html]] ``` You can also use the extended syntax to force an external link: ``` [ext[Donate|bitcoin:1aabbdd....?amount=0.001]] ``` ! Customising Tiddler Links See the LinkWidget for details of the underlying widget used to implement tiddler links, including macros that can be used to customise its behaviour.
;How to list all fields in a wiki and display the number of tiddlers with that field? :Use the `fields` filter operator to get the all fields and then use a nested list widget to count them. !! Solution The below code is one possible solution. ``` <$list filter="[all[tiddlers+shadows]fields[]sort[]]" variable="field"> <$list filter="[all[tiddlers+shadows]has:field<field>count[]]" variable="count"> <<field>> : <<count>> <br/> </$list> </$list> ``` !! Remarks * The `[all[tiddlers+shadows]fields[]sort[]]` in the first `$list` widget retrieves ** fields from all tiddlers ** and sort them * The second `list` widget with `[all[tiddlers+shadows]has:field<field>count[]]` filter ** finds tiddlers with specific field name (`has:field<field>`) ** and counts it using `count[]` !! Example The below example displays all fields in this wiki (TW-Scripts). <$macrocall $name="wikitext-example-without-html" src="""<$list filter="[all[tiddlers+shadows]fields[]sort[]]" variable="field"> <$list filter="[all[tiddlers+shadows]has:field<field>count[]]" variable="count"> <<field>> : <<count>> <br/> </$list> </$list> """/>
Show all system tiddlers that you have created in the last x days! <$macrocall $name="wikitext-example-without-html" src=""" <<list-links "[all[tiddlers+shadows]prefix[$]days[-2]limit[10]]">> """/>
;How to list all tiddlers modified in the last x days? : Use `days` operator. As described in [[Days Operator|https://tiddlywiki.com/#days%20Operator]] Select tiddlers where a specified date field (default "modified") is within a specified date range. Time portion is ignored. !! Example i List all tiddlers tagged with `solution` and ''modified'' within the last two days. <$macrocall $name="wikitext-example-without-html" src="""><$list filter="[tag[solution]days[-2]!sort[modified]]"> </$list> """/> !! Example ii List all tiddlers tagged with `solution` and ''created'' within the last two days. <$macrocall $name="wikitext-example-without-html" src="""><$list filter="[tag[solution]days:created[-2]!sort[created]]"> </$list> """/> !! Remarks * The last example only shows newly created tiddlers tagged with //solution// * Note to the `days:created[-2]` and the `created` suffix. * Compare the two examples, one list recent ''modified'' and the other lists recent ''created'' tiddlers tagged with //solution//. For more information see [[days operator|https://tiddlywiki.com/#days%20Operator]]
;How all tiddlers their title started with today date cane be listed and transcluded?
: The <<mono now>> macro can be used with a <<mono perfix>> operator as below:
```
<$set name="today" value= <<now YYYY-0MM-0DD>> >
<$list filter="[prefix<today>]">
<$view field="title"/><br>
<$transclude /><br>
</$list>
<$set>
```
;How one can list all tiddlers have common fields?
:Common field here means a field all tiddlers have it. There is no direct operator to return common fileds and it needs nested loop.
!! Example
* Consider you have several tiddlers all tagged with `myTag`
* These tiddlers have different fields like `fa`, `fb`, `fc`, `fd`, etc...
* Not all of them have all above fields But all of them have common fields means all have for example `fb`, and `fd`
* How one can list and display the common fields only? (here `fb`, and `fd`)
!!Code
The below code implements the above example.
<$macrocall $name="wikitext-example-without-html"
src="""<$vars tiddlerCount={{{ [tag[myTag]count[]] }}}>
<$list filter="[tag[myTag]fields[]]" variable="thisField">
<$vars fieldCount={{{ [tag[myTag]has:field<thisField>count[]] }}}>
<$reveal default=<<fieldCount>> type="match" text=<<tiddlerCount>>>
<<thisField>>
</$reveal>
</$vars>
</$list>
</$vars>
"""/>
!! Remarks
* The first $vars gets the number of tiddlers tagged with `myTag`
* The first $list retrives all the fileds in selected tiddlers here all tiddlers tagged with `myTag`
* The second $vars counts the number of tiddlers have the `thisField` which refer the fileds retrived one by one in first $list
* The $reveal compare the total number of tiddlers and the number of tiddlers have `thisField`, if they are equal the field is shown
; How to list all tiddlers tagged with say //myTag// and sort them by a specified field value and show those value : Use a `$list` widget with `get` and `sort` operator !! Example The below code list all tiddleers tagged with //fruit// and sort them by the value of `nameit` field and show those values. (See <<tag exmp056>> tiddlers) <$macrocall $name="wikitext-example-without-html" src="""><$list filter='[tag[exmp056]get[myfield]sort[]]'> <<currentTiddler>><br> </$list> """/> See also [[Create a Doubly Sorted Table]]
! List contacts based on specified categories
The following code lists contact tiddlers (tagged with contact) based on second tag as category. The categories are stored in [[Circles]] tiddler.
* ''Tiddler contents''
<<<
<<list-links filter:"[tag[exmp011]] -[<currentTiddler>]">>
<<<
* ''Notes''
<<<
The thing to remember is that the brackets go with the TYPE of operand....
* `[foo]` is a literal value
* `<foo>` is a variable reference
* `{{!!foo}}` is a reference to filed foo in current tiddler
* `{someTiddler}` is a reference to the text filed of someTiddler
* `{SomeTiddler!!foo}` is a reference to the value of the "foo" field in tiddler "someTiddler"
<<<
* ''Output''
```
<$list filter="[list[Circles!!text]]" variable="item">
!! <<item>>
<<<
<$list filter="[tag[contact]tag<item>]">
</$list>
<<<
</$list>
```
<$list filter="[list[Circles!!text]]" variable="item">
!! <<item>>
<<<
<$list filter="[tag[contact]tag<item>]">
</$list>
<<<
</$list>
<<docit>>
;How is it possible to write down the result of filtered list into another tiddler as harcopy (static text)? I'd like to make a button that allows me to create a "hard copy" of the list into a tiddler in the sense that you could open the tiddler file in another program and just see the list there, i.e. in the form of a normal text file. !! Solution The below code list all tiddler' tagged with `Learning` and then uses a button to write their conents into a tiddler called `myErrands` as a harcopy (static text). ``` \define mymegatext() <$list filter="[tag[Learning]limit[20]]"> <$view field=text/> </$list> \end \define mybutton() <$wikify name=mytext text=<<mymegatext>>> <$action-setfield $tiddler="myErrands" tags="hardcopies" text=<<mytext>> /> </$wikify> \end <$button actions=<<mybutton>> > set Errands </$button> ``` This way it is possible to merge several tiddlers into one. Like merging all tiddlers tagged with `$:/tags/Stylesheet` and export the resulted tiddler to compress using a CSS online minifier.
How to list the last 10 modified tiddlers in reverse order? It means * Only show the last 1o tiddlers modified or created * List the last modified/created one first ``` <<list-links "[has[modified]!sort[modified]limit[10]]" type:"ol">> ``` See [[Example 31: List Few Last Modified Tiddlers]] !! Thomas Elmiger solution Thomas Elmiger in [[TW Google group|https://groups.google.com/d/msg/tiddlywiki/GqB0apuMhiE/xE_66ooKHQAJ]] pointed out that, you want to minitor the lasted changes, but usually don’t need state tiddlers and temporary info (often set by the system, not by the user), so you can use the below filter: ``` [!prefix[$:/state]!prefix[$:/temp]![$:/StoryList]![$:/HistoryList]haschanged[]!sort[modified]] ``` This shows modifications from the current session (see https://tiddlywiki.com/#haschanged%20Operator). and ``` [has[modified]!prefix[$:/state]!prefix[$:/temp]!sort[modified]limit[50]] ``` ... nearly the same as above. !!! See also <<list-links "[search:keywords[change]] -[<currentTiddler>]" type:"ol">>
There as a question by [[bimlas|https://groups.google.com/d/msg/tiddlywiki/uYGhHaZzo9w/zK6mMJtEEQAJ]] on using a stored variabe value in other scopes. [[Mark S|https://groups.google.com/d/msg/tiddlywiki/uYGhHaZzo9w/x-RIBEuuEQAJ]] gave a neat solution as below (I have modified it for minor issues) ``` \define mytiddlerslist() <$list filter="[has[myfield]tags[]]"><$view field=title/> </$list> \end <$wikify name="mytiddlers" text=<<mytiddlerslist>>> <$list filter="<mytiddlers>" variable="v"><<v>></$list> </$wikify> ``` This means using a macro the same variable can be used in different scope. A working example based on this has been given in [[Example 21: List Tags Based on a Field]]. It that all tiddlers with a //responder// `filed` are listed and then their tags are displayed using a list widget in another scope. <<alert info "The above code does not save/store the variable value, but it recalculates the variable again.">>
\define showtagsaspills(hidetagfilter)
<$set name=tagfilter value={{!!tags}}$hidetagfilter$>
<$list filter=<<tagfilter>> >
{{||$:/core/ui/TagTemplate}}
</$list>
</$set>
\end
; How we can list tiddlers based on a tag with their other tags as tagpill?
: It can be done using nested list widget and ~TagTemplate as below
```
\define showtagsaspills(hidetagfilter)
<$set name=tagfilter value={{!!tags}}$hidetagfilter$>
<$list filter=<<tagfilter>> >
{{||$:/core/ui/TagTemplate}}
</$list>
</$set>
\end
<$list filter="[tag[exmp001]]" >
<li><$link to={{!!title}} tooltip="Custom tooltip eg open tiddler">{{!!title}}</$link> <<showtagsaspills>></li>
</$list>
```
* Example
<$list filter="[tag[exmp01]]" >
<li><$link to={{!!title}} tooltip="Custom tooltip eg open tiddler">{{!!title}}</$link> <<showtagsaspills>></li>
</$list>
; Using the new operator in TW5.1.20, how is it possible to create a Switch-Case construct using the $list widget?
:Using the `match` operator with the else `~`
!! Example
```
<$list filter="[<casevariable>] ~[[false]]" variable=case>
<$list filter="[<case>match[false]]" variable=case>
Do this if no case value
</$list>
<$list filter="[<case>match[caseone]]" variable=case>
Process "caseone"<br>
</$list>
<$list filter="[<case>match[casetwo]]" variable=case>
Process "casetwo"<br>
</$list>
<$list filter="[<case>match[casethree]]" variable=case>
Process "casethree"<br>
</$list>
<!-- Even this -->
<$list filter="[<case>match[casetwo]] [<case>match[casethree]]" variable=case>
Process "casetwo" and "casethree"<br>
</$list>
</$list>
```
!! Remarks
* The outter `$list` widget is the main `$list`
* All the inner `$list` widgets are the second `$list` widget
* The main `$list` widget recieves a filter, if it is non-empty it will result a value
* If the value is `caseone`, `casetwo` or `casethree` then the related second `$list` widget will be run
* If the first `$list` widget returns no value then the `~[[false]]` will resulst in `false` value and so, the related second `$list` widget will be run
In summary the above construct simply represent the switch-case-default construct in C language.
! Bulleted Lists You can create bulleted (unordered) lists with `*` characters (<<.icon $:/core/images/list-bullet>>): <<wikitext-example src:"* First list item * Second list item ** A subitem * Third list item ">> ! Numbered Lists Numbered (ordered) lists use `#` instead of `*` (<<.icon $:/core/images/list-number>>): # First item # Second item # Third item You can also mix ordered and unordered list items: <<wikitext-example src:"* To do today *# Eat * To get someone else to do *# This *# That *## And the other ">> Here's an example the other way around, with numbers as the first level: <<wikitext-example src:"# To do today #* Eat # To get someone else to do #* This #* That #** And the other ">> ! CSS Classes You can also assign a CSS class to an individual member of a list with this notation: <<wikitext-example src:"* List One *.MyClass List Two * List Three ">> ! Mixing Lists and Block Quotes Note that [[Block Quotes in WikiText]] can be mixed with lists. For example: <<wikitext-example src:"* List One ** List Two **> A quote **> Another quote * List Three ">> ! Paragraphs in Lists Entries in the list are delimited with a linebreak, making it impossible to include linebreaks within a list entry. There are a couple of workarounds. First, you can transclude paragraph content from another tiddler. For example: ``` * First entry * <$transclude tiddler="MyTiddler" mode="block"/> * Third entry ``` Secondly, you can use an HTML "div" element to contain the multiline content. For example: ``` # Step 1 # Step 2 # Step 3<div> Here is the first of several paragraphs. Note that the double linebreak preceding this paragraph is significant. And here is the second of several paragraphs. </div> # Step 4 # Step 5 # Step 6 ```
How to load a local html file into TW using `iframe`?
# Assume غخع have a local html file called //test.html// located in `examples/test.html`
# Use the html5 ifram tag as below
```
<iframe src="relative path to local html" width="xx" height="xx" />
```
!! Example
The below //test.html// located in examples folder
```
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>An HTML page</title>
</head>
<body>
<h1>An HTML page</h1>
<p>This is an HTML page.</p>
</body>
</html>
```
Now load it using `iframe` as below:
<<wikitext-example-without-html
src:"""<iframe src="examples/test.html" width=100% height=300/>
""">>
Filtering is very powerful and it can be used for logical operations. This is some notes about logic operations using filtering in tiddlywiki. Most of what is here isn't all that useful generally, but hopefully it can be used to simplify filtering problems in tiddlywiki. Filter operators that this applies to the operators //days//, //field//, //has//, //haschanged//, //is//, //regexp//, //sameday//, //search//, //prefix//, //suffix//, //tag// and untagged <<alert success width:50% "A source used a lot is Tobias Beer's. Just note that a lot of //new operators// have been made since it was authored: http://tobibeer.github.io/tw/filters/#Filter%20Examples">>
;An issue in field name created by action-setfield
:While Tiddlywiki does not allow to add fileds with space in name or uppercase word, but it seems the through the `$action-setfield` it is possible. How to handle space and upercase words in field name created by `$action-setfield`?
!! Solution
This does seem like a "hole" in the core handling in Tiddlywiki 5.1.21 and older. Also, when you save and reload the file, the upper case letters are automatically re-mapped to lowercase, but the spaces result in TWO fields (e.g., "this field" becomes two fields, "this" and "field").
Here is a "fixup" for it:
```
<$vars fieldName={{{ [<fieldName>split[ ]join[_]lowercase[]] }}}>
```
What this does is replace spaces with underscore, and change all uppercase to lowercase
!! Example
```
<$edit-text tiddler="$:/temp/newfieldname" tag=input />
<$edit-text tiddler="$:/temp/newfieldvalue" tag=input />
<br>
<$button> make field
<$vars fieldName={{{ [{$:/temp/newfieldname}split[ ]join[_]lowercase[]] }}}>
<$action-setfield $field=<<fieldName>> $value={{$:/temp/newfieldvalue}}/>
</$vars>
</$button>
```
To call a [[macro|Macros]], place `<<`double angle brackets`>>` around the name and any parameter values. By default, parameters are listed in the same order as in the macro's definition. A parameter can be labelled with its name, either for clarity or to modify the order. If no value is specified for a parameter, the default value given for that parameter in the macro's definition is used instead. (If no default value was defined, the parameter is simply blank.) Each parameter value can be enclosed in `'`single quotes`'`, `"`double quotes`"`, `"""`triple double quotes`"""` or `[[`double square brackets`]]`. Triple double quotes allow a value to contain almost anything. If a value contains no spaces or single or double quotes, it requires no delimiters. A more formal [[presentation|Macro Call Syntax]] of this syntax is also available. The syntax is actually a shorthand for a <<.wlink MacroCallWidget>> widget. The widget itself offers greater flexibility, including the ability to [[transclude|Transclusion]] parameter values or generate them via additional macros. As macros are simply parameterised [[variables|Variables]], a variable's value can be inserted using the same techniques. [[Examples|Macro Calls in WikiText (Examples)]] !! Named vs.unnamed parameters In the wikitext notation, using named parameters is always the safer choice compared to defining values only. Not naming parameters may have confusing side effects. For example, imagine the first parameter of some macro specifies a [[state tiddler|StateMechanism]] while the second one is intended for a [[template|Transclusion with Templates]] tiddler. Should you accidentally forget to define the first parameter or are confused about the order, the next time your macro is run, which might even be triggered using the preview, your template tiddler may inadvertently be overriden with what was intended to be the state.
A [[macro|Macros]] is defined using a `\define` [[pragma|Pragma]]. Like any pragma, this can only appear at the start of a tiddler.
The first line of the definition specifies the macro name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the macro. The lines that follow contain the text of the macro text (i.e. the snippet represented by the macro name), until `\end` appears on a line by itself:
<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}}/>
Alternatively, the entire definition can be presented on a single line without an `\end` marker:
```
\define sayhi(name:"Bugs Bunny") Hi, I'm $name$.
```
A more formal [[presentation|Macro Definition Syntax]] of this syntax is also available.
!! Accessing variables and parameters
Inside the macro there are several methods for accessing variables defined outside of the macro or parameters from the macro parameter list.
|syntax|description|h
|`$...$`|Text substitution of a parameter defined in the macro parameters list |
|`<<__...__>>`|Parameter-as-variable access to a parameter defined in the macro parameters list |
|`$(...)$`|Text substitution of a variable defined outside of the macro |
|`<<...>>`|Access to a variable (or other macro) defined outside of the macro |
<br>
!!! Placeholders `$(...)$`
The macro can contain placeholders for parameters. These consist of a parameter name between dollar signs, like `$this$`.
The macro can also contain placeholders for [[variables|Variables]]. These consist of a variable name (or macro name) between dollar signs and round brackets, like `$(this)$`.
The actual value of the parameter or variable is substituted for the placeholder whenever the macro is called:
<$importvariables filter="$:/editions/tw5.com/macro-examples/say-hi-using-variables">
<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi-using-variables}}/>
<$macrocall $name=".example" n="1"
eg="""<$set name="address" value="Rabbit Hole Hill">
<<say-hi-using-variables>>
</$set>"""/>
</$importvariables>
!!! Parameters as Variables `<<__...__>>`
Parameters in a wikitext macro can be accessed as variables by using the syntax `<<__...__>>`, i.e the parameter name surrounded by double underscores. For example, the example above could also be expressed as:
```
\define sayhi(name:"Bugs Bunny") Hi, I'm <$text text=<<__name__>>/>.
```
Accessing parameters as variables only works in macros that are wikified and not, for example, when a macro is used as an attribute value. The advantage of the technique is that it avoids the parameter value being substituted into the macro as a literal string, which in turn can help avoid issues with parameters that contain quotes.
For example, consider this macro. It invokes another macro using the single parameter as an argument for it:
```
\define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line="""$line$"""/>
```
The code above will fail if the macro is invoked with the argument containing triple double quotes (for example `<<film-quote 'I quote thrice """ - see!?'>>`). Using parameter variables offers a workaround:
```
\define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line=<<__line__>>/>
```
!! Scope
Macros are available to the tiddler that defines them, plus any tiddlers that it transcludes.
To make a macro available to all tiddlers, define it in a tiddler that has the tag <<.tag $:/tags/Macro>>.
It is also possible to write a macro as a [[JavaScript module|https://tiddlywiki.com/dev/index.html#JavaScript%20Macros]]. ~JavaScript macros are available to all tiddlers, and offer the maximum flexibility.
A tiddler can manually import macro definitions from a [[selection|Title Selection]] of other tiddlers by using the <<.wlink ImportVariablesWidget>> widget.
<<docit>>
```
\define xx(a:"Empty",b:"Empty")
<$reveal type="nomatch" text={{{[<__a__>] -[<__b__>]}}} default="">
Ther are different.
* a: $a$
* b:$b$
</$reveal>
<$reveal type="match" text={{{[<__a__>] -[<__b__>]}}} default="">
They are the same.
* a: $a$
* b:$b$
</$reveal>
\end
```
<<xx 12>>
<<xx>>
! Macro in Tiddlywiki
TiddlyWiki //macro definitions// are ''NOT'' //functions// in the traditional programming sense. Although input "parameters" can be passed to them, and they "return" something as a result, __they don't actually "run" any of the "code" they contain__. When a macro is invoked, it does two things (and ONLY two things):
# replace all occurrences of `$paramname$` with the corresponding value that was passed as an input parameter
# replace all occurrences of `$(variablename)$` with the current value of the variable (assuming it is defined in the context of the "caller" of the macro)
That is ALL it does. After doing the replacements, the resulting content is "returned". If the macro call is being used as a widget parameter, then the result is simply passed along to the widget for further processing. However, if the macro call is embedded directly in wiki content, then it is rendered.
!! An Issue
Consider the below code in a tiddler:
```
Fields
title : Headache
list : [[A B]] [[C D]] E
tidd : Headache
\define get-related-tiddlers() <$view tiddler=$(tid)$ field="list" mode="block"/>
\define test(list-tids)
list-tids= $list-tids$
<$list filter="[enlist<__list-tids__>]">
</$list>
\end
<$set name=tid value={{!!tidd}}>
tid= <<tid>>
get-related-tiddlers= <<get-related-tiddlers>>
1. WORKS: <$macrocall $name="test" list-tids={{!!list}} field="list" />
2. BREAKS: <$macrocall $name="test" list-tids=<<get-related-tiddlers>> field="list" />
<$wikify name="GOT-related-tiddlers" text=<<get-related-tiddlers>>>
3. WORKS!: <$macrocall $name="test" list-tids=<<GOT-related-tiddlers>> field="list" />
</$wikify>
</$set>
```
;Question
: Why example 2 in the above code breaks?
In light of the above, when you invoke the following:
```
2. BREAKS: <$macrocall $name="test" list-tids=<<get-related-tiddlers>> field="list" />
```
the value of the "list-tids" parameter is simply passed along to the widget and will ''NOT'' be the contents of the list field, but rather will literally be:
```
<$view tiddler=SomeTiddlerName field="list" mode="block"/>
```
In contrast, when you use `<$wikify>` on the macro, //you are forcing it to be rendered and then capturing that result in the variable "GOT-related-tiddlers"//. Thus, the `<$view>` widget contained in the macro //DOES get processed//, and the result is then available to pass along to the "list-tids" param.
; Also, I wonder if this use case was the primary reason for making the $wikify widget? If not, what was?
: I would say it was a convincing reason, though perhaps not the only one.
<<< [[Wikipedia|https://en.wikipedia.org/wiki/Function_overloading]]
In some programming languages, function overloading or method overloading is the ability to create multiple functions of the same name with different implementations. Calls to an overloaded function will run a specific implementation of that function appropriate to the context of the call, allowing one function call to perform different tasks depending on context.
<<<
;What is macro overloading in TiddlyWiki?
: If a macro is called in a scope one (e.g inside a tiddler) and the macro itself calls another macro (a second macro) internally say //maymac//, then if this second macro //maymac// is existed in the scope of calling tiddler, it will override the core or other scope macro! This is macro overloading.
A good example is the `toc-caption` macro. For more information see Jeremy Ruston explanation [[here|https://groups.google.com/d/msg/tiddlywiki/sZNfQBxMs3c/eOXiDEFxDAAJ]].
!! Example
A set of macros has been defined in [[exmp043/macro/overloading]] as follows:
> <pre><$view tiddler="exmp043/macro/overloading" /></pre>
If the macro `mac-xx` is called the expected output is as below:
<<<
<<mac-yy>>
<<<
Now, consider it is called from [[Example 43: Macro Overloading]] which itself has an internal macro with the same name `mac-xx` as defined in [[exmp043/macro/overloading]].
><pre><$view tiddler="Example 43: Macro Overloading"/></pre>
Strangely the out is as bellow:
>{{Example 43: Macro Overloading}}
What happened is, in the second case there is a `mac-xx` defined inside [[Example 43: Macro Overloading]], so TW overloads the original macro with this one.
\define macx()
<$list filter="[[$:/temp/mywarning]is[missing]]">
This is an inline message with dismiss button!
<$button class="tc-btn-invisible tc-tiddlylink">
<$action-setfield $tiddler="$:/temp/mywarning" text="x"/>
×</$button>
</$list>
\end
;How to use a macro to show an inline alert message with close button to dismiss the message and when wiki is reloaded the message shown again?
: One solution is to use a stateTiddler which its value set on the wiki startup
!! Solution
The below macro uses `$:/temp/mywarning` tiddler as a state tiddler. If it is missing then the alert message will be shown. If the dismiss button is pressed, the tiddler is created and message will be disappeared.
<<show-macro>>
On wiki reload! To show again the message, the tiddler [[exmp092/startup-action]] with below contents is used to delete the `$:/temp/mywarning` tiddler.
{{exmp092/startup-action||template/code}}
<<alert info "''Note'': if instead of `$:/temp/mywarning` a state tiddler with title prefixed with `$:/state/popup` is used, then it will be removed on startup or page relaod and there is no need for startup action to delete the temporary tiddler.">>
!! Example
Click the dismiss button. To see the message again reload the wiki.
<$macrocall $name="wikitext-example-without-html"
src="""><<macx>>
"""/>
How TW macro can process variable number of arguments? Assume you have a macro like `<<mymac arg1>>` and you can call it like `<<mymac arg1 arg2 arg3>>` !!! Solution To have variable number of arguments you can use list as below: ``` \define stuff(myvar mylist) I saw $myvar$. Then <br/> <$list filter="[enlist[$mylist$]]"> <$view field="title"/><br/> </$list> \end ``` The `mylist` argumrnt here can accept a list of argumrnts and the inside list can recognize them! See [[Example 13|Example 13: Macro and Variable Number of Arguments]]
The use of [[macros|Macros]] in WikiText has two distinct aspects: * [[Defining macros|Macro Definitions in WikiText]] * [[Calling macros|Macro Calls in WikiText]]
The below code uses robocopy to create a version-incremented copies of files (here tiddlers)
The script:
* always create an identical copy of source tiddlers
* create version-incremented copies of all files differ from their source (you may change a tiddler in source or backup folder)
* version number started from 000 ~ 999, so this is maximum number of versions
* use robocopy which is very fast method for creating backups
*
!! How to use
* change the source and destination folders to meet your case
* run the batch file
```
:: Ref: https://www.experts-exchange.com/questions/23427327/How-to-use-Robocopy-to-create-files-Versions.html
:: Running the script will first Robocopy any files which don't already exist in the destination,
:: then use xcopy to create version-incremented copies of any files which do exist in the destination.
:: Mohammad Rahmani
:: Github: https://github.com/kookma
:: Rev 0.9
:: Apr 8th, 2019
@echo off
cls
:: Source and destination paths. Do not include a trailing backslash
set SourceFolder="G:\Test-Robocopy\my source"
set DestinationFolder="G:\Test-Robocopy\my dest"
:: ------------------------------------------------------------------------------------------------
:: Remove double and single qoutes if any
set source=%SourceFolder:"=%
set source=%source:'=%
set dest=%DestinationFolder:"=%
set dest=%dest:'=%
setlocal EnableDelayedExpansion
:: Copy any file, folder not existed in the destination
robocopy "%source%" "%dest%" /XC /XN /XO /R:3 /W:3 /E /XX
:: List all files existed in destination, but there is a difference between each file and its
:: source
for /F "tokens=*" %%G in ('robocopy "%source%" "%dest%" /XX /L /NDL /NS /NC /NJH /NJS /E') do (
call :_process "%%G"
)
goto :eof
:: The process subroutine here does the below tasks
:: a. create a new copy of destination file prefixed with _vxxx, where xxx: 001 ~ 999 (version-incremented copies )
:: so this only keep 1000 revisions and cannot work for more revisions
:: b. copy the source file and overwrite the destination. So, destination is always equal to source
:_process
set counter=0
set version=000
set source_path=%~dp1
set file=%~n1
set ext=%~x1
:: Create the destionation path for the existed file. by replacing the
:: source path with destination path. (search and replace)
set dest_path=!source_path:%source%=%dest%!
:: Check to see what is the last version number to create the next version number
:_loop
if exist "%dest_path%%file%_v%version%%ext%" (
set /A counter+=1
:: create a number with leading zeros like 001 ~ 999
set version=000!counter!
set version=!version:~-3!
goto :_loop
)
:: Increment the version number of the file in destination which differes from its identical one in source
echo F|xcopy "%dest_path%%file%%ext%" "%dest_path%%file%_v%version%%ext%" /C /H /R /Z /Q
:: Copy from source and overwrite the respective file in destination: source = destination
echo F|xcopy %1 "%dest_path%\%file%%ext%" /C /H /R /Z /Y /Q
goto :eof
endlocal
```
# Open https://highlightjs.org/download/
# Select the language you want and then click download
# Unzip the `highlight.zip` and open the `highlight.pack.js` in a text editor
#<div>
Paste the following line as the ''first line'' in the text editor
```
var hljs = require("$:/plugins/tiddlywiki/highlight/highlight.js");
```
</div>
#<div>
Paste the following line as the ''last line'' in the text editor
```
exports.hljs = hljs;
```
</div>
# Open the `$:/plugins/tiddlywiki/highlight/highlight.js` tiddler in your wiki and click on edit button from text editor
# Replace the content of this tiddler with the content of edited `highlight.pack.js` from text editor
# Save tiddler and save wiki
# Reload the wiki
That's all
<<alert warning "''Note'': You need to have the `highlight.js` plugin installed in your wiki. If not from control panel, plugins, click get more plugins and install the `highlight.js`.">>
!! Remarks
* See [[Add More Language Brushes to Highlight.js Plugin]]
* Using these procedure, you can add brushes for Fortran, Matlab, Julia, ...
# Create a backup of your current TiddlyWiki HTML file ([[just in case|The First Rule of Using TiddlyWiki]]) # Open your TiddlyWiki in a browser # In another browser window, find a link to the plugin, e.g. [[$:/plugins/tiddlywiki/example]]. You will typically find these links on the home page of the plugin (for example, https://tiddlywiki.com/plugins/tiddlywiki/katex/) # Drag the link [[$:/plugins/tiddlywiki/example]] to the browser window containing your TiddlyWiki # Save your TiddlyWiki (<<.icon $:/core/images/save-button>>) # If a yellow warning bar appears at the top of the window, refresh the window so that TiddlyWiki completes installation of the plugin <<.icon $:/core/images/refresh-button>> #* <<.from-version "5.1.22">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See PluginMechanism for more details # The plugin should now be available for use
markdown是一种类似htm标记语言的轻量级标记语言,用简单的几个键盘符号作为渲染的标记,剩下的内容是纯粹的纯文本格式,这就是所有你要做的工作。简单举个例子:一个#号跟一个空格表示为1号标题,两个##跟一个空格表示2号标题,一次类推;一个* 号跟一个空格表示无序的列表;一个> 跟一个空格表示垂直的和文字等高的竖线,两个就表示缩进的和文字等高的竖线;一对三个波浪线就可以生成一个简洁大方的代码框; 具体用法参考语法详解。最方便的是这些简单的符号加文本的格式可以被浏览器解释为正确的渲染效果,正因为简单实用和高效,所以在网络上轻松普及。入门级的的MarkDown编辑器推荐[[typora]],熟悉了标准的语法和typora的使用,可以选择你自己喜欢的其他风格的MarkDown编辑器,可以很快上手。
<<docit>> https://groups.google.com/d/msg/tiddlywiki/nANt_wWjiYE/ccfCBdkSFgAJ * hub wiki * node wiki
;What regexp filter can be used to match all list items `<li styel></li>` find and display their content each in a separate line?
:This cannot be done using simple `regexp`, or `splitregexp` filter operators and needs to process using a set of filters as described below
!! Solution
The below code finds all list items and show their contents in [[exmp091/data01]]. Note that
* A list item is the one delimited between `<li>` and `</li>`
* The list item can have class like `<li class="some class">` or style or both.
* What is between the opening and closing tag is called the content of list item which should be displayed here
<$macrocall $name="wikitext-example-without-html"
src="""><$vars realchars="[^\s]+">
<$list filter="[{exmp091/data01}splitregexp[\n]join[ ]splitregexp[<li.*?>]butfirst[1]splitregexp[</li>]butlast[1]regexp<realchars>]" variable=item>
<$text text=<<item>>/><br>
</$list>
</$vars>
"""/>
!! Remarks
* The `{exmp091/data01}` transclude the raw text in tiddler [[exmp091/data01]]
* The `splitregexp[\n]` split the text based of end of line character. That means it split text into lines.
* The `join[ ]`
* The `splitregexp[<li.*?>]butfirst[1]` split text on `<li.*?>` means on any `<li>` or `<li class="some class">` or style or both. and then throw away the first part.
* The `splitregexp[</li>]butlast[1]` means split on closing tag `</li>` and throw away the last part
* The `regexp<realchars>` remove empty lines.
<<alert info """The `<$vars realchars="[^\s]+">` is a regular expression that says "matcch anything that is not whitespace". It's used to verify that a line is not empty. It has to be defined in a variable beause it contains square brackets `[]`.""">>
\define ragscalculator(a, op, b) <$list filter="[<__a__>$op$<__b__>]" variable=result><<result>></$list> \end ; Basic ragscalculator : Using basic mathematical operations in Tiddlywiki 5.1.20+ it is possible to develop a simple calculator for basic operations like addition, subtraction, multiplication !! The macro The `ragscalculator` below accept two numbers and the operator and simply return the result <<show-macro>> ; Content and atributes : a: first number of your math equation : b: second number of your math equation : op: basic mathematical operator as below :: for `+` : use "add" :: for `-` : use "subtract" :: for `*` : use "multiply" :: for `/` : use "divide" !! Examples The below examples show how `ragscalculator` can be used. <$macrocall $name="wikitext-example-without-html" src="""<<ragscalculator 12 add 5>> <<ragscalculator 12 divide 5.>> <<ragscalculator 1.23 multiply 80>> """/>
On the https://tiddlywiki.com/ website, if you make a tabbed internal Table of Contents as follows:
```
Tiddler Title: MyTest
<$macrocall
$name="toc-tabbed-internal-nav"
tag="Learning"
selectedTiddler="$:/temp/toc/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
```
Some long titles cause the left side to take up half the width of the tiddler, leaving too little space to display tiddler contents on the right side.
I want to change (reduce) the width allowed on the left-side index of links without modifying the core tiddlers. How to do this?
!! Solution
Tag your tiddler above "Test". Create a stylesheet tiddler (a tiddler tagged $:/tags/Stylesheet) and put the below content inside it.
```
[data-tags~="Test"] .tc-tabbed-table-of-contents .tc-table-of-contents {
max-width: 30% ;
}
```
That should change the max-width. I think you can see how to change "Test" to some other tag name, if you prefer.
\define message-of-day(dataTiddler) <$set name="dd" value=<<now DD>> > <$list filter="[<__dataTiddler__>indexes[]match<dd>]" variable=item> <$transclude tiddler=<<__dataTiddler__>> index=<<item>> /> </$list> </$set> \end ;How to create a message of the day generator? In other words how to show a message based on the day of month? : Different solution is possible, but one is to use a data tiddler to store message and use the `now` macro to find the day number and extract a message with that number from data tiddler !! Solution The below macro `message-of-day` gets a data tiddler containing the message and shows the message of the day. <<show-macro>> !! Remarks The `message-of-day` macro contains * an input parameter `dataTiddler` which passes the title of data tiddler which stores messages. Each message is stored as an index/value pair where the index is 1, 2, 3, ...31 and the value is a message in wikitext format * a `$set` widget to store the day number of month at current data using `<<now DD>>`. See [[Date Format|https://tiddlywiki.com/#DateFormat]] * a `$list` widget to find the index and match day number of today ** the filter extracts all indexes from dataTiddler (`<__dataTiddler__>indexes[]`) ** and matches against number of day (`match<dd>`) * a `$transclude` widget to retrieve the message (the value) from dataTiddler !! Example The below example uses the [[exmp094/data]] as a dataTiddler in which all 31 quotes have been stored. Indexes start from 1 to 31 and every index has a value in which the quote is stored. The author name is given in italic. <$macrocall $name="wikitext-example-without-html" src="""<<< <<message-of-day exmp094/data>> <<< <<now "DDD, MMM DDth, YYYY">> """/> <<alert info "This solution can be used to generate tip of the day. See [[Alternate Message of the Day Generator]] for when message are stored in individual tiddlers.">>
When `transclude` or `view` widgets are used for conditional output, an issue raised with empty `caption` field.
Consider below solution [[Eric Shulman|Conditional Output]]
```
<$view field="caption">
<$view field="title"></$view>
</$view>
```
or this one by [[THomas Elmiger|https://groups.google.com/d/msg/tiddlywiki/dzZWAa5Hmlo/b4vWK6yTEQAJ]]:
```
<$link tooltip={{!!title}}><$transclude field="caption"><$view field="title"/></$transclude> </$link>
```
<<<[[S.S.|https://groups.google.com/d/msg/tiddlywiki/dzZWAa5Hmlo/EwUqundEEQAJ]]
The problem with the above code is that if there is a `caption` field, but it is empty, nothing will show. I find that unacceptable. This was the exact issue I tried to have fixed (on github) but that hasn't been resolved because of possible performance issues in a large table of contents.
<<<
The better solution proposed by [[S.S.|https://groups.google.com/d/msg/tiddlywiki/dzZWAa5Hmlo/EwUqundEEQAJ]] as below
<<< Best solution
```
<$list filter="[all[current]has[caption]]"
emptyMessage="""<$view field="title"/>""">
<$transclude field="caption"/>
</$list>
```
<<< See also [[Jeremy note|https://github.com/Jermolene/TiddlyWiki5/issues/3624#issuecomment-445157136]] on GitHub
!! Remarks
[[TonyM|https://groups.google.com/d/msg/tiddlywiki/dzZWAa5Hmlo/vPJjeTBFEQAJ]] proposed a solution if you want to make a link to a tiddler when there is a caption and it has higher priority
```
<$list filter="[all[current]has[caption]get[caption]] ~[{!!title}]" variable=name>
<$link to=<<name>> tooltip="Custom tooltip"><<name>></$link>
</$list>
```
You can also make a macro for this as below
```
\define caption-title()
<$list filter="[all[current]has[caption]get[caption]] ~[{!!title}]" variable=name>
<$link to=<<name>> tooltip="Custom tooltip"><<name>></$link>
</$list>
\end
and use <<caption-title>> no paramters to always show first the caption, then the titlewith an active link.
```
;How to create a table of contents and sort sub branches?
If you make a table of contents from all tiddlers tagged with `TableOfContents` then
```
<<toc-selective-expandable "TableOfContents">>
```
The sorting is fine for most cases, but you would like all your items tagged `Journal` to be sorted by the created field. How can you apply a separate sort order to just those sub-items tagged Journal?
The trick is to add a field to the parent tagging tiddler (i.e. `Journal`) that points to a different sort criteria. Let's call the field `fuzzy`, and populate it with the value `created` (created is the name of the field that contains a tiddler's creation date).
Now change your Table of Contents to look like this:
```
<<toc-selective-expandable "TableOfContents" "sort{!!fuzzy}" >>
```
!! Other readings
* [[TOC in Sidebar|https://tiddlywiki.com/#Adding%20a%20table%20of%20contents%20to%20the%20sidebar]]
* [[Sort order of sub branches|https://tiddlywiki.com/prerelease/#How%20to%20change%20the%20sort%20order%20of%20sub-branches%20in%20a%20TOC%20macro]]
* The following linkintab macro will always open in the same browser tab, even if it is already open.
* If your links to wikis use the target parameter you can ensure you do not open the wiki more than once.
* You are also protected if you try and reopen the tab and you have not saved previous work.
* In FireFox, if you move a tab to its own window, and click the link again it will open that windows again (and reload) - if it was minimised it will restore it.
!! Why do this?
* It allows you to keep tabs closed and open them as needed without fear of saving over the same wiki (Even without using bob)
* You can establish a Directory Wiki to other wikis that honours this reusable tabs method.
* No need to go looking for existing tabs, windows or minimised browser windows, just return to your directory, reopen if not open, reload in same tab if open (and saved)
!! Macro
Put the below script inside a tiddler and tag it with `$:/tags/Macro`
```
\define linkintab(link tabname)
<$set name=url value="$link$">
<$set name=tabname value=$tabname$>
<a href=<<url>> target=<<tabname>> ><<tabname>></a>
</$set></$set>
\end
```
!! Example
```
<<linkintab "https://www.w3schools.com" W3Schools>>
<<linkintab "http://127.0.0.1:8084/"Bob>>
```
!! Remarks
In the follwing case, it is using data from a dataTiddler (the current Tiddler in a list)
```
<a href={{##wiki-url-full}} target={{##wiki-sitetitle}}>{{$:/core/images/link}}</a>
```
And as the above macro shows the following also works
```
<a href=<<url>> target=<<tabname>> ><<tabname>></a>
```
* 把所有的子条目的tag设置为MyContents,就可以实现tagging技术 <div class="tc-table-of-contents"> <<toc-selective-expandable 'MyContents' sort[title]>> </div>
\define target() My Little Tiddler <$button>Go forth <$action-navigate $to=<<target>> /> </$button> ``` \define target() My Little Tiddler <$button>Go forth <$action-navigate $to=<<target>> /> </$button> ```
<<docit>>
; Create a tiddler with unique title and open it in edit mode?
: use tm-new-tiddler, also the below method
```
\define newTiddler(title, fields)
<$set name="tempTid" value=<<qualify "temp/$(currentTiddler)$">> >
<$action-createtiddler
$basetitle=<<__title__>>
$savetitle=<<tempTid>>
$fields$/>
<$action-sendmessage $message="tm-edit-tiddler" $param={{{[<tempTid>get[text]]}}} />
</$set>
\end
<$button>Test
<<newTiddler test>>
</$button>
```
; How to host Tiddlywiki on free web hosting service neocities.org? :Use the Neocities Save Plugin !! Instruction # Go to https://neocities.org and create an accoung # Go to setting and create an API key # Download an empty.html from https://tiddlywiki-neocities-saver.neocities.org/ # Goto $:/ControlPanel, Saving Tab, Neocities Save and enter your API key # Press the Save button If you have your own wiki simply drag and drop [[Neocities Saver plugin|https://tiddlywiki-neocities-saver.neocities.org/#TiddlyWiki%20Neocities%20Saver%20Plugin]] into your wiki!
* ''Question''
<<<
Assume you have a tiddler titled "Tiddler-A". It has a caption filed cotains: "I am Tiddler A". Next assume you have Tiddler-B, its summary filed contains "Tiddler-A" I want a transclusion like this in Tiddler-B
```
{{!!summary!!caption}}
```
But it doesnot work!
<<<
* ''Solution''
<<<
The solution is given by Marks as below
```
\define deref(tid fld) <$transclude tiddler=<<__tid__>> field=<<__fld__>> />
<$macrocall $name="deref" tid={{!!summary}} fld="caption"/>
```
<<docit>>
eeeee
{{c:\users\ls\音乐\在希望的田野上.mp3}}
{{TiddlyWiki.mp3}}
<<docit>> https://groups.google.com/d/msg/tiddlywiki/VvzQpl0Rytw/p0I8EbNUCQAJ Add all refs
When working with [[https://tiddlywiki.com/prerelease/]] it is good to know when and from which branch it has been built. To know this open `$:/build` tiddler and it will show the required information including: # Branch # Commit number # Date and time of build
! Troubleshooting # The Tiddlywiki core macro parser expects the parenthesis of the macro parameter list to ''//immediately//'' follow the macro name, without any intervening white space. Having space between macro "name" and the open parentheses of the parameter list, prevents the parser from properly recognizing the macro definition.
A. __Viewing in an iframe in Wiki__:
Note on Google app's- when accessing a site using a javascript login (an URL ending in .jspa), a "javascript not enabled" error message-- so apparently javascript has issues operating in iframes, at least with Firefox 64.
# Google Doc's will display and can be edited in an iframe
#* if you're not signed into Google which would grant edit permission.
#* PROBLEM, if signed into Google, the sheet displays but with a "~JavaScript isn't enabled in your browser, so this file can't be opened. Enable and reload." message which prevents not just editing but scrolling the page.
#* doc permissions influence these results, ie an "edit" in the URL. Not tested on Google app assets made public.
# Google Sheets will display in an iframe
#* if you're not signed into Google which would grant edit permission.
#* PROBLEM, if signed into Google, the sheet displays but with a "JavaScript isn't enabled in your browser, so this file can't be opened. Enable and reload." message which prevents not just editing but scrolling the page.
#* doc permissions influence these results, ie an "edit" in the URL. Not tested on Google app assets made public.
# File hosting:
#* Google Drive - no
#* OneDrive - unknown, not tested
#* Dropbox - unknown, not tested
# Some websites:
#* Will have to test the website if it will view in an iframe.
#** If the site/page has HTTP response header X-Frame-Option "DENY" or "SAMEORIGIN", displaying in an iframe will not work unless the Wiki is in the same domain.
#** sites using a javascript login (an URL ending in ".jspa"), a "javascript not enabled" error message will appear instead of the website displaying-- so apparently javascript has issues operating in iframes
#** When iframe viewing is prevented see Part B below.
# Youtube videos
#* "www.youtube.com/watch?_video ID_" won't view in iframe, but "www.youtube.com/embed/_video ID_" will.
#** Right click on a video at Youtbe and one of the options given is an embed snippet which is an iframe with the video url
#*** often gives a "video unavailable" error message.
# direct viewing of web hosted multimedia content:
#* Images, audio, video files online can be the src of an iframe
#* or images, audio, video files online can be embedded into tiddlers
#** this is useful with archive org audio which brings up a web page hosting the audio file
#** (1) using TW's _canonical_uri: for the file url and setting the tiddler type field ("audio/mp3" for audio)
#** (2) or using HTML audio and video tags in a tiddler
#** image hot-linking prevention on a website may block this
#* Text based files online can be the src of an iframe, any file that your browser can display in it without needing an external app, can be displayed in an iframe in its text format.
!
* In these cases where content will not display within an iframe, the content will have to be opened in a new browser tab using Wikitext external link markup, due to iframe security precautions preventing viewing in an iframe.
B. __View in new browser window__:
(using Wikitext external link markup or html "a href" tag with target="_blank")
# Google Doc's, Sheets, Drive & other Google app's
#* signed in or not- depends upon the share setting of the asset
# other file hosting - ~OneDrive, Dropbox
# many websites
#* sites/pages using HTTP response header X-Frame-Option "DENY" or "SAMEORIGIN", displaying it in a new tab is the only way to view it.
#* sites/pages using javascriot log-in/front end (ie URL's ending in ".jspa", displaying it in a new tab is the only way to view it.
# Dropbox, others?
# Youtube videos can be opened in a new tab with Wikitext external link markup using the standard "www.youtube.com/watch?_video ID_" in its url.
# Of course images, audio, video, text files online can be viewed using Wikitext external link markup.
#* Interesting experiment- Facebook won't display within an iframe but setting the iframe src to an image on the Facebook page, the image will display within an iframe.
*NOTE: if using html ``<a href>`` instead of using Wikitext external link markup, be sure to use target="_blank" to keep the url you're trying to open not open in the same tab your Wiki is in.
{{!!url}}
<<<
~NoteSelf is the perfect place to store your ideas, notes, thoughts, tips, tricks, recipes...
whatever you want to put into it! ~NoteSelf will store, index, and make it easily
searchable, so you will find it instantly whenever you need it!
You already know and love Evernote, we know it. It is comfortable, it syncs, has search capabilities...
Wow, it's almost perfect, but what about:
* Privacy - Everything is stored on the Evernote's servers!
* Customization - If you don't like the interface of Evernote, there's nothing you can do
~NoteSelf is built on top of ~TiddlyWiki, a powerful, free, highly customizable and open-source personal wiki.
We took the best of it, it's powerful customization system, and mixed it with one of the best
embedded databases available, [[PouchDb|http://www.pouchdb.com]], for bringing the synchronization capabilities you need.
<<<
Notifications are small informational messages that appear at the top right of the TiddlyWiki window, and automatically disappear after a preset time. How is it possible the preset time to about 15 s. !! Solution There is an internal JavaScript setting for the notification duration. It can be changed with this one liner: ``` title: $:/_ChangeNotificationDuration module-type: startup type: application/javascript $tw.config.preferences.notificationDuration = 15 * 1000; ``` This is a the code $:/_ChangeNotificationDuration <<alert danger "not works for me!!">>
<div class="tc-table-of-contents"> <<toc-selective-expandable 'Office'>> </div>
The below solution shows how an Online Dictionary Lookup can be created from inside Tiddlywiki.
!! Create dictionary tiddler
In a tiddler titled: [[S.S./data/dictionaryLinks]] and with its Content Type set to : `application/x-tiddler-dictionary`
put links of queries to those online dictionaries (websites) you wish to use. I have the following
>{{S.S./data/dictionaryLinks}}
!! Create macros
In a tiddler tagged with `$:/tags/Macro` , define the dictionary macro as follows:
><pre><$text text={{S.S./maro/dictionary}} /></pre>
Here the first macro `dataLinkCreator` create the query to an online dictionary and the second macro `dictionary` gets the word to lookup and create a list of links to all dictionaries existed in [[S.S./data/dictionaryLinks]]
!! Usage
It possible to directly call the dictionary macro as below
```
<<dictionary word>>
```
!! A case study
Assume some words are stored as tiddler title. It is required to show the links to online dictionaries for title word.
Here two solution are given.
# <div>
A template can be used to show the links, and the template contains the line:
```
<<dictionary {{!!title}}>>
```
The tiddler's title is simply the word itself, for example: avarice
</div>
# <div>
In another case, tiddler title is like `Word: name`, then the template line could be replaced with:
```
<$macrocall $name="dictionary" word={{{ [<currentTiddler>removeprefix[Word: ]] }}} />
```
See: [[Word: avarice]]
I have a lots of tiddlers I want to open in the story. Once I have done this I will do something on each tiddler. But until then I do not want to have to scroll back to my list. ;how to provide a link to a tiddler in a list that will open but not navigate to it? : Use `$action-navigate` with `$scroll=no` ``` <$button> <$action-navigate $to=SomeTiddler $scroll=no/> DO EET!! </$button> ``` making a macro to style it like a link and use the tiddler text as the button text could make it less obtrusive.
; How to open all tiddlers meet special criteria? : Use the `action-navigate` widget !! Example The below macro * Gets a filter as a criteria to find all tiddlers meet that criteria. * Uses the `tm-close-all-tiddlers` message to close all tiddlers open in story river * Uses the `action-navigate` to open every output of filtered list in story river ``` \define open-all(filter, label:"Open all") <$button>$label$ <$action-sendmessage $message="tm-close-all-tiddlers"/> <$list filter=<<__filter__>> > <$action-navigate $to=<<currentTiddler>> /> </$list> </$button> \end ``` !! Demo #<div> Open all tiddlers tagged with `myTag`. ``` <<open-all filter:"[tag[myTag]]" label:"Open tagged with myTag">> ``` </div> #<div> Open all tiddlers have the word `semantic` in their title in alphabetical order. ``` <<open-all filter:"[search:title[semantic]] +[sort[]]" label:"Open tagged with myTag">> ``` </div> !! Related solutions These solutions are similar: * [[Close all Tiddlers and Open Home]] * [[Open all Tiddlers with Tag-X]]
;How is it possible to open all tiddlers tagged say with `mytag` in story river? :This is simply can be done using a button widget. See the below examples !! Example The below example contains a macro to create a button, accept a button caption, and a tag. On button click all currently open tiddlers in story river are closed and all tiddlers tagged say with `mytag` will be opened. The example is implemented using [[Example 33: Open all Tiddlers Tagged with batch]] tiddler <pre><$view tiddler="Example 33: Open all Tiddlers Tagged with batch"/></pre> !! Remarks # Macro `myproject` has three parameter attributes #* //mytag//: the tag name tiddlers tagged with #* //msort//: the type of sort, e.g. #** `title` to sort with tiddler title #** `created` to sort with tiddler created date #** `modified` to sort with tiddler modified date. This is the default value. #** etc #* //title//: this is the button caption # The `button` widget has two actions #* Close all currently open tiddlers in the story river using `tm-close-all-tiddlers` message #* Open all tiddlers tagged with //mytag// using a list widget and `action-navigate` widget. Go to [[Example 33|Example 33: Open all Tiddlers Tagged with batch]] to see the macro in action. <<alert info "''Note'': There is a plugin [[OpenAll|http://t5a.tiddlyspot.com/#Open%20All%20By%20Tag]] which adds a button to tag pill, lets open all tiddlers tagges with say `mytag`.">> !! Related solutions These solutions are similar: * [[Open All Tiddlers Meet Some Criteria]] * [[Close all Tiddlers and Open Home]]
The list and order of stylesheet used in Tiddlywiki can be found here [[Control Panel > Info > Advanced > Stylesheets|$:/core/ui/ControlPanel/Stylesheets]] This tiddler shows the order of StyleSheets, and using the `tag pill` therein you can drag and drop to reorder them. CSS by definition is Cascading if you can't see what the cascade order is, you can easily be tricked Unless we were to provide details of all the class names already applied to all TiddlyWikis elements we should also provide information that allows people to identify those elements such as via inspect. And suggest how these can be overridden. <<alert info "The order of stylesheets is very important. Always the last setting overwrites previous ones!">> !!! More info * https://tiddlywiki.com/#Using%20Stylesheets
To mark the end of a paragraph in TiddlyWiki you need to type `enter` twice to create a double line break: ``` This is the first paragraph. And this is the second paragraph. ``` Single line breaks are ignored within paragraphs. For example: <<wikitext-example src:"This is a paragraph made up of short lines">> For situations where this behaviour isn't convenient, you can also use [[Hard Linebreaks in WikiText]].
<<docit>>
\define doc-link(path name parameters) $path$$name$$parameters$ \end The below small macro creates a document link. It gets a thord attributes as parameters whihc here can be used to refer to a certain page in a PDF. ``` \define doc-link(path name parameters) $path$$name$$parameters$ \end ``` !! Example <$macrocall $name="wikitext-example-without-html" src="""<a href=<<doc-link "http://gahp.net/wp-content/uploads/2017/09/" "sample.pdf" "#page=5">> target=PDFTab >My PDF File Page 5</a> <a href=<<doc-link "http://gahp.net/wp-content/uploads/2017/09/" "sample.pdf" "#page=09">> target=PDFTab >My PDF File Page 09</a>""" />
;Run and time : How it is possibe to measure the time for excution of any action in Tiddlywiki, like the time a macro takes to perform its operation task? The core has built-in performance instrumentation for the refresh cycle. See “Performance Instrumentation” on the “Settings” tab of control panel. The wiki will need to be reloaded before it takes effect. With performance instrumentation switched on, there is additional timing information displayed the browser developer console each time a refresh cycle is triggered. For example: ``` performance: mainRender: 327.83ms performance: +filter: 49.70ms performance: styleRefresh: 9.14ms performance: +filter: 2.46ms performance: mainRefresh: 68.10ms performance: +filter: 37.69ms ``` The information above should be interpreted as follows: <<< "Initial rendering of the main page took 327ms (of which 50ms was filter evaluation). Refreshing the page stylesheet took 9ms (of which 2ms was filter evaluation). Refreshing the main page took 68ms (of which 38ms was filter evaluation)" <<< * mainRender is the time taken for the initial display of the page template * styleRefresh is the time taken to refresh the page stylesheet * mainRender is the time taken to refresh the main page template * in each case, +filter denotes the time taken up with filter evaluation. As an example, try switching between the sidebar tabs to compare how long they take to render. See also: * [[Perfromance Instrumentation|https://tiddlywiki.com/#Performance%20Instrumentation]] * [[Performance|https://tiddlywiki.com/#Performance]]
TW on mobile <<docit>>
<<docit>> Add comment by [[Mario|https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/tiddlywiki/66MkdqrlLlU/MZxL2oCIAwAJ]] on installing server version of plugins! ---- ; Assume a local wiki created in mywiki folder, how is it possible to add some plugins? :there is three different methods to have plugins working in a local wiki (e.g mywiki) * use the plugins globally installed in Tiddlywiki/plugins root folder (available to all local wikis) * use the packged plugin in JSON tiddlers (globally or locally) * use the local plugin folders (only available to mywiki) !! Global installation (Client-Server configuration) If you have Tiddlywiki + Node.JS installed on your system, then every plugin installed in the root folder (tiddlywiki/plugins) then it will be available to all local wikis created on that machine !! Local installation By local installation it means plugin is only available to a specific wiki for that the plugin has been installed. Local installation can be done using a single file (ordinary JSON tiddlers)or plugin folder (separate tiddler files) * Single file (packaged plugin): open you locla wiki and drag and drop the plugin file into it (see [[manual installation|https://tiddlywiki.com/#Manually%20installing%20a%20plugin]]) * Plugin folder (separate tiddler files): In your local wiki folder go to `plugins` folder. If not existed create one. Copy and paste your pluging folder there (see [[plugin folder|https://tiddlywiki.com/#PluginFolders]]) <<alert info "Plugin folders must be immediate children of the wiki “plugins” folder. Only for global installation (in plugins root folder of Tiddlywiki) plugin folders can be stored in `plugins/publisher`">>
; How to populate story list with a set of tiddlers? : Set the list `field` of `$:/StoryList` with those tiddlers !! Example Close all tiddlers and populate story list with the below tiddlers * Home * Learning Resources * Check List Demo <$macrocall $name="wikitext-example-without-html" src="""<$button> <$action-setfield $tiddler="$:/StoryList" $field="list" $value="Home [[Learning Resources]] [[Check List Demo]]"/> Populate Story! </$button> """/>
; How to check the position of an item in the list with respect to a selected item?
!! Example
{{exmp085/demo||template/code}}
!! Result
>{{exmp085/demo}}
<<docit>>
Ordinarily, at startup TiddlyWiki displays the tiddlers specified as a filter in the tiddler [[$:/DefaultTiddlers]]. Sometimes it's useful to re-open the same tiddlers that were open when the file was saved. To do so, set [[$:/DefaultTiddlers]] to this filter: ``` [list[$:/StoryList]] ``` This filter returns the tiddlers specified in the [[$:/StoryList]] tiddler, which is the system tiddler that TiddlyWiki uses to store the sequence of tiddlers in the current story.
TiddlyWiki has a configuration option.
Create a new tiddler named: `$:/config/EmptyStoryMessage` with the following content.
```
<div class="tc-tiddler-frame">{{HelloThere}}</div>
```
So if users close the last tiddler in the story, the "HelloThere" tiddler will be shown.
You can use any name here!!
; How to have local or private macro? : Private macro is a macro is not accessible through the Tiddlywiki global namespace. These are normally auxiliary macros used by other macros or are specific to a plugin. !! Solution You can use the existing //import pragma// to bring in macro definitions from other tiddlers without cluttering the ''global name space''. For example, you might have a global macro defined in a tiddler tagged `$:/tags/Macro`, and then put your local macros into tiddlers just tagged `$:/tags/MyPublisher/MyPlugin/LocalMacros`. Then, at the top of your global macro you’d bring in those local macros with: ``` \import [all[shadows+tiddlers]tag[$:/tags/MyPublisher/MyPlugin/LocalMacros]!has[draft.of]] \define myPublicMacro() … ```
\define my-actions(a:"Hello", b:"World") <$action-sendmessage $message="tm-notify" $param="exmp098/notifyTemplate" variable01="""$a$""" variable02="""$b$""" /> \end ;How to pass variable to tm-notify widget message? :The variables can be provided to `tm-notify` as hasmap of variables ^^[[1|https://tiddlywiki.com/#WidgetMessage%3A%20tm-notify]]^^. !!Solution The below macro `my-action` uses the `tm-notify` to display the content of tiddler passed to `$param` (here [[exmp098/notifyTemplate]]) as notification. <<show-macro>> !! Remarks The `tm-notify` in the above macro has the below attached parameters: : the `$param` gets the [[exmp098/notifyTemplate]] tiddler to display as alert (notification) : the `variable01` which is provided to the notification as a variable. : the `variable02` which is provided to the notification as another variable. <<alert info """''Note'': It is possible to pass many variables to `tm-notify` like the two variables above e.g. `x="valx" y="valy" z="valz"` etc.""">> !!Example i The below example call `my-actions` using a `$button` widget with default parameters value. <$macrocall $name="wikitext-example-without-html" src="""<$button actions=<<my-actions>> >Notification One!</$button>"""/> !!Example ii The below example call `my-actions` using a `$button` widget with provided parameters value. <$macrocall $name="wikitext-example-without-html" src="""<$button actions=<<my-actions a:"Lovely" b:"Tiddlywiki">> >My Second Notification!</$button>"""/>
!! 基础
!!! 编码
```python
# -*- coding: cp-1252 -*-
```
!!! 标识符
* 第一个字符必须是字母表中字母或下划线 _ 。
* 标识符的其他的部分由字母、数字和下划线组成。
* 标识符对大小写敏感。
* 在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。
!!! python保留字
```python
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
```
!!! 注释
多行注释可以用多个 `#` 号,还有 `'''` 和 `"""`
!!! 多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
```python
total = item_one + \
item_two + \
item_three
```
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
```python
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
```
!!! 数字(Number)类型
* int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
* bool (布尔), 如 True。
* float (浮点数), 如 1.23、3E-2
* complex (复数), 如 1 + 2j、 1.1 + 2.2j
!!! 字符串(String)
* python中单引号和双引号使用完全相同。
* 使用三引号`'''`或`"""`可以指定一个多行字符串。
* 转义符 '\'
* 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 如 r"this is a line with \n" 则\n会显示,并不是换行。
* 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
* 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
* Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
* Python中的字符串不能改变。
* Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
* 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
!!! 语句
Python可以在同一行中使用多条语句,语句之间使用分号(;)
缩进相同的一组语句构成一个代码块,我们称之代码组。我们将首行及后面的代码组称为一个子句(clause)。
!!! 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 `end=""`:
```python
print( x, end=" " )
```
!!! 导入
* 将整个模块(somemodule)导入,格式为: `import somemodule`
* 从某个模块中导入某个函数,格式为: `from somemodule import somefunction`
* 从某个模块中导入多个函数,格式为: `from somemodule import firstfunc, secondfunc, thirdfunc`
* 将某个模块中的全部函数导入,格式为: `from somemodule import *`
!! 基本数据
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
Python允许你同时为多个变量赋值。例如:
```
a = b = c = 1
a, b, c = 1, 2, "runoob"
```
标准的数据类型:
# Number(数字)
## int
## float
## bool
## complex(复数)。
# String(字符串)
# List(列表)
# Tuple(元组)
# Set(集合)
# Dictionary(字典)
* 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
* 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
```python
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
>>>a = 111
>>> isinstance(a, int)
True
>>>
```
* type()不会认为子类是一种父类类型。
* isinstance()会认为子类是一种父类类型。
您可以通过使用del语句删除单个或多个对象。例如:
```
del var
del var_a, var_b
```
数值的除法包含两个运算符:/ 返回一个浮点数,`//` 返回一个整数。
```python
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
```
!!! 字符串
```python
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
str[::-1] # 倒序输出
```
Python 使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
```python
>>> print(r'Ru\noob')
Ru\noob
```
与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误。
!!! 列表 元组 集合
```python
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
```
与Python字符串不一样的是,列表中的元素是可以改变的:
```python
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = [] # 将对应的元素值设置为 []
>>> a
[9, 2, 6]
```
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
其实,可以把字符串看作一种特殊的元组。
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
```python
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
```
string、list 和 tuple 都属于 sequence(序列)。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
```python
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
{'b', 'a', 'c', 'r', 'd'}
{'b', 'd', 'r'}
{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
{'a', 'c'}
{'l', 'r', 'z', 'm', 'b', 'd'}
```
!!! 字典
```
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
#
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])
```
构造函数 dict() 可以直接从键值对序列中构建字典如下:
```
>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
```
# 字典是一种映射类型,它的元素是键值对。
# 字典的关键字必须为不可变类型,且不能重复。
# 创建空字典使用 { }。
!!! 特殊转换
```
repr(x)
将对象 x 转换为表达式字符串
eval(str)
用来计算在字符串中的有效Python表达式,并返回一个对象
frozenset(s)
转换为不可变集合
chr(x)
将一个整数转换为一个字符
ord(x)
将一个字符转换为它的整数值
hex(x)
将一个整数转换为一个十六进制字符串
oct(x)
将一个整数转换为一个八进制字符串
```
!!! 运算符
```
** 幂 - 返回x的y次幂 a**b 为10的21次方
// 取整除 - 向下取接近除数的整数
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
:= 海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。
在这个示例中,赋值表达式可以避免调用 len() 两次:
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
```
!!!! 位运算
```python
c = a & b; # 12 = 0000 1100
print ("1 - c 的值为:", c)
c = a | b; # 61 = 0011 1101
print ("2 - c 的值为:", c)
c = a ^ b; # 49 = 0011 0001
print ("3 - c 的值为:", c)
c = ~a; # -61 = 1100 0011
print ("4 - c 的值为:", c)
c = a << 2; # 240 = 1111 0000
print ("5 - c 的值为:", c)
c = a >> 2; # 15 = 0000 1111
print ("6 - c 的值为:", c)
```
!!!! 其他
* 逻辑 `and` `or` `not`
* 成员 `in` `not in`
* 身份 `is` `is not`
!!!! 优先级
```
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,求余数和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符
```
Pyhton3 已不支持 <> 运算符,可以使用 != 代替,如果你一定要使用这种比较运算符,可以使用以下的方式:
```python
>>> from __future__ import barry_as_FLUFL
>>> 1 <> 2
True
```
!!! 数学
```
数学函数
函数 返回值 ( 描述 )
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y)
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换。
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) 返回数字x的平方根。
```
随机数
```
函数 描述
choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random() 随机生成下一个实数,它在[0,1)范围内。
seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst) 将序列的所有元素随机排序
uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。
```
!!!! 三角函数
```
acos(x) 返回x的反余弦弧度值。
asin(x) 返回x的反正弦弧度值。
atan(x) 返回x的反正切弧度值。
atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。
cos(x) 返回x的弧度的余弦值。
hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)。
sin(x) 返回的x弧度的正弦值。
tan(x) 返回x弧度的正切值。
degrees(x) 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x) 将角度转换为弧度
```
!!! 字符串
!!!! 转义字符
```
转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy 代表的字符,例如:\o12 代表换行,其中 o 是字母,不是数字 0。
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
```
!!! 字符串格式化
```python
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
```
```
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
```
格式化操作符辅助指令:
```
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
```
!!! f-string
f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。
之前我们习惯用百分号 (%):
```python
>>> name = 'Runoob'
>>> 'Hello %s' % name
'Hello Runoob'
```
f-string 格式话字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下:
```python
>>> name = 'Runoob'
>>> f'Hello {name}' # 替换变量
>>> f'{1+2}' # 使用表达式
'3'
>>> w = {'name': 'Runoob', 'url': 'www.runoob.com'}
>>> f'{w["name"]}: {w["url"]}'
'Runoob: www.runoob.com'
```
用了这种方式明显更简单了,不用再去判断使用 %s,还是 %d。
在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:
```python
>>> x = 1
>>> print(f'{x+1}') # Python 3.6
2
>>> x = 1
>>> print(f'{x+1=}') # Python 3.8
'x+1=2'
```
!!!! Python 的字符串内建函数
```
1
capitalize()
将字符串的第一个字符转换为大写
2
center(width, fillchar)
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
3
count(str, beg= 0,end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
4
bytes.decode(encoding="utf-8", errors="strict")
Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
5
encode(encoding='UTF-8',errors='strict')
以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
6
endswith(suffix, beg=0, end=len(string))
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
7
expandtabs(tabsize=8)
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
8
find(str, beg=0, end=len(string))
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
9
index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常.
10
isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
11
isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
12
isdigit()
如果字符串只包含数字则返回 True 否则返回 False..
13
islower()
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
14
isnumeric()
如果字符串中只包含数字字符,则返回 True,否则返回 False
15
isspace()
如果字符串中只包含空白,则返回 True,否则返回 False.
16
istitle()
如果字符串是标题化的(见 title())则返回 True,否则返回 False
17
isupper()
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
18
join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
19
len(string)
返回字符串长度
20
ljust(width[, fillchar])
返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
21
lower()
转换字符串中所有大写字符为小写.
22
lstrip()
截掉字符串左边的空格或指定字符。
23
maketrans()
创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
24
max(str)
返回字符串 str 中最大的字母。
25
min(str)
返回字符串 str 中最小的字母。
26
replace(old, new [, max])
把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
27
rfind(str, beg=0,end=len(string))
类似于 find()函数,不过是从右边开始查找.
28
rindex( str, beg=0, end=len(string))
类似于 index(),不过是从右边开始.
29
rjust(width,[, fillchar])
返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
30
rstrip()
删除字符串字符串末尾的空格.
31
split(str="", num=string.count(str))
num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
32
splitlines([keepends])
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
33
startswith(substr, beg=0,end=len(string))
检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
34
strip([chars])
在字符串上执行 lstrip()和 rstrip()
35
swapcase()
将字符串中大写转换为小写,小写转换为大写
36
title()
返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
37
translate(table, deletechars="")
根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
38
upper()
转换字符串中的小写字母为大写
39
zfill (width)
返回长度为 width 的字符串,原字符串右对齐,前面填充0
40
isdecimal()
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
```
!!!! strip() 方法
```python
str = "00000003210Runoob01230000000";
print str.strip( '0' ); # 去除首尾字符 0
str2 = " Runoob "; # 去除首尾空格
print str2.strip();
# 下例演示了只要头尾包含有指定字符序列中的字符就删除:
str = "123abcrunoob321"
print (str.strip( '12' )) # 字符序列为 12
# 以上实例输出结果如下:
3abcrunoob3
```
!!! replace() 函数
```python
str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
# 以上实例输出结果如下:
thwas was string example....wow!!! thwas was really string
thwas was string example....wow!!! thwas is really string
```
!!! 列表
可以使用 del 语句来删除列表的的元素,如下实例:
```python
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)
# 以上实例输出结果:
原始列表 : ['Google', 'Runoob', 1997, 2000]
删除第三个元素 : ['Google', 'Runoob', 2000]
```
!!!! 方法
```
1 list.append(obj)
在列表末尾添加新的对象
2 list.count(obj)
统计某个元素在列表中出现的次数
3 list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj)
将对象插入列表
6 list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项
8 list.reverse()
反向列表中元素
9 list.sort( key=None, reverse=False)
对原列表进行排序
10 list.clear()
清空列表
11 list.copy()
复制列表
```
!!!! 关于元组是不可变的
所谓元组的不可变指的是元组所指向的内存中的内同不可变。
```python
>>> tup = ('r', 'u', 'n', 'o', 'o', 'b')
>>> tup[0] = 'g' # 不支持修改元素
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> id(tup) # 查看内存地址
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800 # 内存地址不一样了
```
从以上实例可以看出,重新赋值的元组 tup,绑定到新的对象了,不是修改了原来的对象。
!!!! 删除字典
```
del dict['Name'] # 删除键 'Name'
dict.clear() # 清空字典
del dict # 删除字典
```
!!! 字典方法
```
1 radiansdict.clear()
删除字典内所有元素
2 radiansdict.copy()
返回一个字典的浅复制
3 radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5 key in dict
如果键在字典dict里返回true,否则返回false
6 radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7 radiansdict.keys()
返回一个迭代器,可以使用 list() 来转换为列表
8 radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10 radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()
随机返回并删除字典中的最后一对键和值。
```
!!! 集合
```python
s.add( x ) # 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
s.update( x ) # 也可以添加元素,且参数可以是列表,元组,字典等
s.remove( x ) # 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
s.discard( x ) # 移除集合中的元素,且如果元素不存在,不会发生错误。
s.pop() # 随机删除集合中的一个元素
```
!! 流程
!!! 迭代器与生成器
```python
>>> list=[1,2,3,4]
>>> it = iter(list) # 创建迭代器对象
>>> print (next(it)) # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>>
```
```python
#!/usr/bin/python3
import sys # 引入 sys 模块
list=[1,2,3,4]
it = iter(list) # 创建迭代器对象
while True:
try:
print (next(it))
except StopIteration:
sys.exit()
```
把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。
```
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
x = self.a
self.a += 1
return x
```
StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在 __next__() 方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代。
```python
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a <= 20:
x = self.a
self.a += 1
return x
else:
raise StopIteration
myclass = MyNumbers()
myiter = iter(myclass)
for x in myiter:
print(x)
```
!!! 生成器
在 Python 中,使用了 yield 的函数被称为生成器(generator)。
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
调用一个生成器函数,返回的是一个迭代器对象。
以下实例使用 yield 实现斐波那契数列:
```
#!/usr/bin/python3
import sys
def fibonacci(n): # 生成器函数 - 斐波那契
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
f = fibonacci(10) # f 是一个迭代器,由生成器返回生成
while True:
try:
print (next(f), end=" ")
except StopIteration:
sys.exit()
```
执行以上程序,输出结果如下:`0 1 1 2 3 5 8 13 21 34 55`
!! 函数
python 函数的参数传递:
* 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
* 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
```python
# 默认参数
def printinfo( name, age = 35 ):
# 不定长参数
def printinfo( arg1, *vartuple ):
def functionname([formal_args,] **var_args_dict ):
```
Python3.8 新增了一个函数形参语法 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。
!!! 列表
用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。
```python
>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]m collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry") # Terry arrives
>>> queue.append("Graham") # Graham arrives
>>> queue.popleft() # The first to arrive now leaves
'Eric'
>>> queue.popleft() # The second to arrive now leaves
'John'
>>> queue # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])
```
!!! 遍历技巧
在字典中遍历时,关键字和对应的值可以使用 items() 方法同时解读出来:
```python
>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.items():
... print(k, v)
...
gallahad the pure
robin the brave
```
在序列中遍历时,索引位置和对应值可以使用 enumerate() 函数同时得到:
```python
>>> for i, v in enumerate(['tic', 'tac', 'toe']):
... print(i, v)
...
0 tic
1 tac
2 toe
```
同时遍历两个或更多的序列,可以使用 zip() 组合:
```python
>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print('What is your {0}? It is {1}.'.format(q, a))
...
What is your name? It is lancelot.
What is your quest? It is the holy grail.
What is your favorite color? It is blue.
```
要反向遍历一个序列,首先指定这个序列,然后调用 reversed() 函数:
```python
>>> for i in reversed(range(1, 10, 2)):
... print(i)
...
9
7
5
3
1
```
要按顺序遍历一个序列,使用 sorted() 函数返回一个已排序的序列,并不修改原值:
```python
>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> for f in sorted(set(basket)):
... print(f)
...
apple
banana
orange
pear
```
!!! 模块
```python
if __name__ == '__main__':
print('程序自身在运行')
```
!!! 文件
```python
f = open("/tmp/foo.txt", "w")
f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" )
# 关闭打开的文件
f.close()
```
!!!! 方法
```
f.read()
为了读取一个文件的内容,调用 f.read(size), 这将读取一定数目的数据, 然后作为字符串或字节对象返回。
size 是一个可选的数字类型的参数。 当 size 被忽略了或者为负, 那么该文件的所有内容都将被读取并且返回。
f.readline()
f.readline() 会从文件中读取单独的一行。换行符为 '\n'。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。
f.readlines()
f.readlines() 将返回该文件中包含的所有行。(list)
如果设置可选参数 sizehint, 则读取指定长度的字节, 并且将这些字节按行分割。
另一种方式是迭代一个文件对象然后读取每行:
for line in f:
print(line, end='')
f.write()
f.write(string) 将 string 写入到文件中, 然后返回写入的字符数。
如果要写入一些不是字符串的东西, 那么将需要先进行转换:
value = ('www.runoob.com', 14)
s = str(value)
f.write(s)
f.tell()
f.tell() 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。
f.seek()
如果要改变文件当前的位置, 可以使用 f.seek(offset, from_what) 函数。
seek(x,0) : 从起始位置即文件首行首字符开始移动 x 个字符
seek(x,1) : 表示从当前位置往后移动x个字符
seek(-x,2):表示从文件的结尾往前移动x个字符
f.close()
在文本文件中 (那些打开文件的模式下没有 b 的), 只会相对于文件起始位置进行定位。
当处理一个文件对象时, 使用 with 关键字是非常好的方式。在结束后, 它会帮你正确的关闭文件。 而且写起来也比 try - finally 语句块要简短:
>>> with open('/tmp/foo.txt', 'r') as f:
... read_data = f.read()
>>> f.closed
!!! pickle 模块
python的pickle模块实现了基本的数据序列和反序列化。
```python
pickle.dump(obj, file, [,protocol])
x = pickle.load(file)
```
!! 异常
最后一个except子句可以忽略异常的名称,它将被当作通配符使用。你可以使用这种方法打印一个错误信息,然后再次把异常抛出。
```python
import sys
try:
f = open('myfile.txt')
s = f.readline()
i = int(s.strip())
except OSError as err:
print("OS error: {0}".format(err))
except ValueError:
print("Could not convert data to an integer.")
except:
print("Unexpected error:", sys.exc_info()[0])
raise
```
try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。 else 子句将在 try 子句没有发生任何异常的时候执行。
try-finally 语句无论是否发生异常都将执行最后的代码。
!!! 用户自定义异常
你可以通过创建一个新的异常类来拥有自己的异常。异常类继承自 Exception 类,可以直接继承,或者间接继承,例如:
```python
>>>class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
```
一些对象定义了标准的清理行为,无论系统是否成功的使用了它,一旦不需要它了,那么这个标准的清理行为就会执行。
关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法
!! 面向对象
Python同样有限的支持多继承形式。多继承的类定义形如下例:
```python
class DerivedClassName(Base1, Base2, Base3):
<statement-1>
.
.
.
<statement-N>
```
类的私有属性 `__private_attrs`:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 `self.__private_attrs `。
类的私有方法实例如下:
```python
#!/usr/bin/python3
class Site:
def __init__(self, name, url):
self.name = name # public
self.__url = url # private
def who(self):
print('name : ', self.name)
print('url : ', self.__url)
def __foo(self): # 私有方法
print('这是私有方法')
def foo(self): # 公共方法
print('这是公共方法')
self.__foo()
x = Site('菜鸟教程', 'www.runoob.com')
x.who() # 正常输出
x.foo() # 正常输出
x.__foo() # 报错
```
!!! 运算符重载
```python
class Vector:
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return 'Vector (%d, %d)' % (self.a, self.b)
def __add__(self,other):
return Vector(self.a + other.a, self.b + other.b)
v1 = Vector(2,10)
v2 = Vector(5,-2)
print (v1 + v2)
# 以上代码执行结果如下所示:
Vector(7,8)
```
!! 作用域
!!! global 和 nonlocal关键字
内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。
以下实例修改全局变量 num:
```python
num = 1
def fun1():
global num # 需要使用 global 关键字声明
print(num)
num = 123
print(num)
fun1()
print(num)
# 以上实例输出结果:
1
123
123
```
如果要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了,如下实例:
```python
#!/usr/bin/python3
def outer():
num = 10
def inner():
nonlocal num # nonlocal关键字声明
num = 100
print(num)
inner()
print(num)
outer()
# 以上实例输出结果:
100
100
```
!! 网络编程
!!! socket()函数
Python 中,我们用 socket()函数来创建套接字,语法格式如下:
```python
socket.socket([family[, type[, proto]]])
```
```
参数
family: 套接字家族可以使AF_UNIX或者AF_INET
type: 套接字类型可以根据是面向连接的还是非连接分为SOCK_STREAM或SOCK_DGRAM
protocol: 一般不填默认为0.
```
```
Socket 对象(内建)方法
函数 描述
服务器端套接字
s.bind() 绑定地址(host,port)到套接字, 在AF_INET下,以元组(host,port)的形式表示地址。
s.listen() 开始TCP监听。backlog指定在拒绝连接之前,操作系统可以挂起的最大连接数量。该值至少为1,大部分应用程序设为5就可以了。
s.accept() 被动接受TCP客户端连接,(阻塞式)等待连接的到来
客户端套接字
s.connect() 主动初始化TCP服务器连接,。一般address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。
s.connect_ex() connect()函数的扩展版本,出错时返回出错码,而不是抛出异常
公共用途的套接字函数
s.recv() 接收TCP数据,数据以字符串形式返回,bufsize指定要接收的最大数据量。flag提供有关消息的其他信息,通常可以忽略。
s.send() 发送TCP数据,将string中的数据发送到连接的套接字。返回值是要发送的字节数量,该数量可能小于string的字节大小。
s.sendall() 完整发送TCP数据,完整发送TCP数据。将string中的数据发送到连接的套接字,但在返回之前会尝试发送所有数据。成功返回None,失败则抛出异常。
s.recvfrom() 接收UDP数据,与recv()类似,但返回值是(data,address)。其中data是包含接收数据的字符串,address是发送数据的套接字地址。
s.sendto() 发送UDP数据,将数据发送到套接字,address是形式为(ipaddr,port)的元组,指定远程地址。返回值是发送的字节数。
s.close() 关闭套接字
s.getpeername() 返回连接套接字的远程地址。返回值通常是元组(ipaddr,port)。
s.getsockname() 返回套接字自己的地址。通常是一个元组(ipaddr,port)
s.setsockopt(level,optname,value) 设置给定套接字选项的值。
s.getsockopt(level,optname[.buflen]) 返回套接字选项的值。
s.settimeout(timeout) 设置套接字操作的超时期,timeout是一个浮点数,单位是秒。值为None表示没有超时期。一般,超时期应该在刚创建套接字时设置,因为它们可能用于连接的操作(如connect())
s.gettimeout() 返回当前超时期的值,单位是秒,如果没有设置超时期,则返回None。
s.fileno() 返回套接字的文件描述符。
s.setblocking(flag) 如果flag为0,则将套接字设为非阻塞模式,否则将套接字设为阻塞模式(默认值)。非阻塞模式下,如果调用recv()没有发现任何数据,或send()调用无法立即发送数据,那么将引起socket.error异常。
s.makefile() 创建一个与该套接字相关连的文件
```
!!! 实例
```python
#!/usr/bin/python3
# 文件名:server.py
# 导入 socket、sys 模块
import socket
import sys
# 创建 socket 对象
serversocket = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999
# 绑定端口号
serversocket.bind((host, port))
# 设置最大连接数,超过后排队
serversocket.listen(5)
while True:
# 建立客户端连接
clientsocket,addr = serversocket.accept()
print("连接地址: %s" % str(addr))
msg='欢迎访问菜鸟教程!'+ "\r\n"
clientsocket.send(msg.encode('utf-8'))
clientsocket.close()
```
```python
#!/usr/bin/python3
# 文件名:client.py
# 导入 socket、sys 模块
import socket
import sys
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
# 连接服务,指定主机和端口
s.connect((host, port))
# 接收小于 1024 字节的数据
msg = s.recv(1024)
s.close()
print (msg.decode('utf-8'))
```
<<docit>>
;How can I make it so that in the Recent tab the dates in which the tiddlers are ordered appear highlighted in bold?
: Use customized style sheet
# Create a new tiddler
# Tag it with `$:/tags/Stylesheet`
# <div>
Put the below css inside it
```
/* Recent tab */
.tc-sidebar-lists .tc-timeline {
font-weight: bold;
}
```
</div>
# Save and see the result
See [[Example 30: Colored Timeline]]
;How to add bullets or other symbols at the begining of each timeline entry?
As explained by [[Mat|https://groups.google.com/d/msg/tiddlywiki/3Q0sijwYp0g/IsMPAvcpEgAJ]], create a tiddler tagged with `$:/tags/Stylesheet` with below contents
```
.tc-timeline .tc-menu-list-subitem::before {content:"⦁ ⚬ ●"}
```
This causes every entry starts with `⦁ ⚬ ●`. The below example adds ` -` prefix to each entry
```
.tc-timeline .tc-menu-list-subitem::before {content:" -"}
```
\define myregexp() ^([a-zA-Z0-9]+\.)*[ext]+$ A macro to list all tiddlers with a `.ext` extenstion in their name using the `regexp`. The name can have any alpha-numeric character(e.g. a-z, A-Z, 0-9) <<< * Change `ext` with any extension you like * This example shows how `regexp` can be used in filters <<< * Macro ``` \define myregexp() ^([a-zA-Z0-9]+\.)*[ext]+$ ``` * Example ``` <<list-links "[regexp<myregexp>!sort[]]">> ``` * Results <<list-links "[regexp<myregexp>!sort[]]">> --- Related tiddlers <<list-links "[tag[exmp016]] -[<currentTiddler>]">>
;When click a button in Chrome or Opera, a blue frame (border) is appeared, how to remove it?
# Create a tiddler, name it what you want
# Tag it with `$:/tags/STylesheet`
# Add the following as text
```
.tc-btn-invisible { outline:none; }
```
\define deleteIdx() <$button class="tc-btn-invisible tc-tiddlylink">✕ <$action-setfield $tiddler=<<__dataTiddler__>> $index=<<idx>> /> </$button> \end \define deleteAllzeros() <$button>Delete all ✕ <$list filter="[<__dataTiddler__>indexes[]]" variable=idx> <$list filter="[<__dataTiddler__>getindex<idx>match[0]]" variable="zidx"> <$action-setfield $tiddler=<<__dataTiddler__>> $index=<<idx>> /> </$list> </$list> </$button> \end \define show-idx-val(dataTiddler) <<deleteAllzeros>><br> <$list filter="[<__dataTiddler__>indexes[]]" variable=idx> <$list filter="[<__dataTiddler__>getindex<idx>match[0]]" variable="zidx"> <<idx>>: 0 <<deleteIdx>><br/> </$list> </$list> \end ;How display properties (index/value) of a data tiddler with an optional delete buttom to remove indexes with zero value? :Using Tiddlywiki 5.1.20+ it is possible to employ the `match` filter operator to locate indexes with zero value. !! Solution This solution contains three macros <<show-macro>> ;Remarks : `show-idx-val` is the main macro to be called. It uses `deleteAllzeros` to show a button to delete all indexes with zero value. A nested $list widgets to read indexes and then extract values and compare against zero. In then display each index has a value of `0` with a delete button. : `deleteIdx`, a macro creates a button to delete an index : `deleteAllzeros` a macro delete all indexes have zero value using `action-setfield` widget !! Example <$macrocall $name="wikitext-example-without-html" src="""><<show-idx-val exmp093/data>>"""/>
\define remove-quotes(term)
<$set name="item" value=<<__term__>> >
<$set name="noquote"
value={{{ [<item>removeprefix["]removesuffix["]] [<item>removeprefix[']removesuffix[']] ~[<item>] }}}
emptyValue="Process failed!">
<<noquote>>
</$set>
</$set>
\end
! Using the ELSE run filter prefix
The below code is a demo of //ELSE run// `~` filter prefix. It's purpose here is to get a parameter and remove its surrounding single or souble quotes. If the parameter has not any surrounding quotes, then returns itself.
!! Macro
```
\define remove-quotes(term)
<$set name="item" value=<<__term__>> >
<$set name="noquote"
value={{{ [<item>removeprefix["]removesuffix["]] [<item>removeprefix[']removesuffix[']] ~[<item>] }}}
emptyValue="Process failed!"
</$set>
</$set>
\end
```
!! Examples
!!! Remove single quotes
<$macrocall $name="wikitext-example-without-html"
src="""><<remove-quotes "'single quotes'">>
"""/>
!!! Remove double quotes
<$macrocall $name="wikitext-example-without-html"
src="""><<remove-quotes '"double quotes"'>>
"""/>
!!! Empty value
The macro will return the Process failed! if no parameter passed
<$macrocall $name="wikitext-example-without-html"
src="""><<remove-quotes>>
"""/>
;How to rename a field in bunch of tiddlers from an old name to a new one? :Use the two widgets action-setfield and action-deletefield !! Code The below code shows how to rename the field `alias` to `aliases` <<code-link exmp104/rename-field>> ;How it works : find all tiddlers has a field called `alias` : copy the content of `alias` field to a new field `aliases` : delete the old field `alias` Note that the macro `show-tiddlers` is a helper macro to list the tiddlers has `alias` field name and then `aliases` field name. This is used just for displaying the result. !!Example <<content exmp104/rename-field>>
<<alert warning """ ''Use with care''! Seems the TW toc macro supports this feature out of the box""">>
; How is it possible to hide some toc levels in TW table of contents? In other words how you can customize the levels of TOC? or how you can limits the TOC up to level three?
It seems the TW core macro `toc-selective-expandable` has not the capabilities to do this! A solution has been proposed by Mark S and he has rewritten the core macro as below
<details>
<summary>Details of code</summary>
```
\define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter:" ",exclude,path,prune:"")
<$set name="toc-state" value=<<qualify """$:/state/toc$path$-$(currentTiddler)$""">>>
<$set name="toc-item-class" filter="""$itemClassFilter$""" emptyValue="toc-item" value="toc-item-selected" >
<$set name="prune" value="""$prune$""">
<li class=<<toc-item-class>>>
<$link>
<$list filter="[all[current]] -[enlist<prune>] +[tagging[]limit[1]]" variable="ignore" scratch="-[enlist<prune>]" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
<$reveal type="nomatch" state=<<toc-state>> text="open">
<$button set=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/right-arrow}}
</$button>
</$reveal>
<$reveal type="match" state=<<toc-state>> text="open">
<$button set=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
</$list>
<<toc-caption>>
</$link>
<$reveal type="match" state=<<toc-state>> text="open">
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$""" exclude="""$exclude$""" path="""$path$""" prune="""$prune$"""/>
</$reveal>
</li>
</$set>
</$set>
</$set>
\end
\define toc-selective-expandable-empty-message()
<<toc-linked-selective-expandable-body tag:"""$(tag)$""" sort:"""$(sort)$""" itemClassFilter:"""$(itemClassFilter)$""" exclude:"""$(excluded)$""" path:"""$(path)$""" prune:"""$(prune)$""">>
\end
\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path,prune)
<$vars tag="""$tag$""" sort="""$sort$""" itemClassFilter="""$itemClassFilter$""" excluded="""$exclude$ -[[$tag$]]""" path="""$path$/$tag$""" prune="""$prune$""" >
<ol class="tc-toc toc-selective-expandable">
<$list filter="""[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$""">
<$list filter="[all[current]toc-link[no]]" variable="ignore" emptyMessage=<<toc-selective-expandable-empty-message>> >
<$macrocall $name=toc-unlinked-selective-expandable-body tag="""$tag$""" sort="""$sort$""" itemClassFilter="""$itemClassFilter$""" exclude=<<excluded>> path=<<path>> prune="""$prune$""" >
</$list>
</$list>
</ol>
</$vars>
\end
```
</details>
<<alert danger """ ''Warning'': This code will overwrite the core macro, so it is recommended to rename these macro! """>>
!! Example
If used at [[https://TiddlyWiki.com]] will show the standard table of contents, but "Learning" and "Drag and Drop" (under Features) will both be links -- not expandable branches.
```
<div class="tc-table-of-contents">
<<toc-selective-expandable "TableOfContents" prune:"Learning [[Drag and Drop]]">>
</div>
```
<<docit>>
;How the filter output can be saved for further use? Using the `set` widget it is possible to save the output of a filter run. ``` <$set name="output" filter="[tag[Filter Operators]first[5]]"> Text of variable: <$text text=<<output>>/> List of titles: <$macrocall $name="list-links" filter=<<output>>/> </$set> ``` * Example The below example run a filter and save its results into a variable called `output`, it then is used in another operation. <$macrocall $name="wikitext-example-without-html" src="""<$set name="output" filter="[tag[list]first[5]]"> >Text of variable: <$text text=<<output>>/> List of titles: ><$macrocall $name="list-links" filter=<<output>>/> </$set> """/>
For security reasons, modern web browsers do not let you ''directly'' write to the local filesystem. TiddlyWiki is built on top of browser tech. As such, it has the same restrictions on local filesystem access. Fortunately, nearly all web browsers DO have one reliable method of writing to the local filesystem: ''downloading a file''. Downloading offers some measure of implicit information privacy/security because it requires user-interaction (no silent saving of files), and uses system-level dialogs to access the filesystem (no direct program access to read your directory info). By default, when you try to save a locally-stored TiddlyWiki without any add-ons or helper apps, it triggers what appears to be a ''download'' activity, even though the file is clearly already on your own system. Many browsers automatically save downloaded files to a specific location (e.g., "/Downloads" or similar). Some browsers allow you to change this default location to a different directory and/or "ask for location" each time you download so you can specify the desired filename and directory. If you tell your browser to point to the directory in which your TiddlyWiki file is stored, then when you press "save", you get a system-level dialog that allows you to enter a new filename or select an existing file. Most systems will automatically suggest a filename by appending a number to the current filename, e.g., "index.html (1)". You can, of course, select the *existing* TiddlyWiki filename, e.g., index.html (without any "(n)" suffix), which should then prompt you for permission to overwrite the previously saved file. After saving, if you reload your TiddlyWiki file, it will contain your saved changes as you would expect. Although the "default download saver" ultimately ''does'' let you save changes locally, some people find the experience to be less-than-optimal. To address this, there are ''many different add-ons'' and system-specific helper apps that can potentially provide a smoother experience, depending upon your usage patterns and platform(s) of choice. https://tiddlywiki.com/#GettingStarted
<<docit>>
\define thisSearchMacro(search:"", dataTid:"exmp039/acronyms/web")
<ol>
<$list filter="[[$dataTid$]indexes[]regexp:title[(?i)$search$]]">
<li><<currentTiddler>>: <$transclude tiddler="$dataTid$" index=<<currentTiddler>>/></li>
</$list>
</ol>
\end
; How to search a DataTiddler indexes using the regexp?
The below solution is proposed by ''{{!!responder}}'' to use `regexp` for searching a DataTiddler.
It uses a macro with a default DataTiddler. It enables you to make the search using regexp filter instead of requiring the exact name.
```
\define thisSearchMacro(search:"", dataTid:"exmp039/acronyms/web")
<ol>
<$list filter="[[$dataTid$]indexes[]regexp:title[(?i)$search$]]">
<li><<currentTiddler>>: <$transclude tiddler="$dataTid$" index=<<currentTiddler>>/></li>
</$list>
</ol>
\end
```
!! Remarks
filter explanation:
# Get your DataTiddler (the default is [[exmp039/acronyms/web]])
# Get its indexes
# Filter them by your search string
# For each remaining transclude the content
!! Example i
Search the defualt DataTiddler ([[exmp039/acronyms/web]]) for `ftp`
<$macrocall $name="wikitext-example-without-html"
src="""><<thisSearchMacro "ftp">>
"""/>
!! Example ii
Search the [[exmp039/roman-numbers]] DataTiddler for `f`. This will list every index has the letter `f` in its name.
<$macrocall $name="wikitext-example-without-html"
src="""><<thisSearchMacro search:"f" dataTid:"exmp039/roman-numbers">>
"""/>
Search in fields is a [[a solution|https://groups.google.com/d/msg/tiddlywiki/w03HpUdfSIk/ZJAaEwyscV4J]] by [[Stephan Hradek]] that adds an additional tab to [[Advanced Search|$:/AdvancedSearch]] {{$:/core/ui/Buttons/advanced-search}} allowing you to search in field contents.
''Note:'' By default the `text` field, i.e. the tiddler body is excluded from search in fields. If you want to search only the `text` field you have to specifically select it.
Assume you have several local wiki files stored in different places in your disks (thumb drive, hard disks, local networks) and you want to search all of them from inside a main wiki (the one you normally work with), how to do this? To search local file you need these parts # A dictionary tiddler to store the full path to the local wikis # A user interface (UI) tiddler includes #* a textbox to get the keyword to search #* a set of checkbox to customize search #* a set of macro to make the links to local wiki files !! Example Here an example is given. * The dictionary tiddler contains full path to four local wikis: [[dictionary/mylocal-TWs]] <$transclude tiddler="dictionary/mylocal-TWs" /> * The user interface (UI) tiddler to get the keyword, customize search and create the links [[Search Local TWs]]. <pre><$view tiddler="Search Local TWs"/></pre> <<alert warning "''Note'': This solution only creates links and sends a request to lookup those local wikis. It does not retrieve the search results.">> !! See it in action * Import (by drag and drop) the below tiddlers to your wiki *# [[Search Local TWs]] *# [[dictionary/mylocal-TWs]] * Edit the conetnts of [[dictionary/mylocal-TWs]] to meet your requirements. Note to the path and name of your local wikis. You can open your local wiki in browser and then copy its full path from browser address bar. * Open [[Search Local TWs]] and input a keywords and click on the links created below the textbox. * That's all.
To search amoung the tags in a wiki:
<$edit-text tiddler="mytitlesearch" size="50" tag="input"/>
<$reveal state="mytitlesearch" type="nomatch" text="">
<$list filter="[search{mytitlesearch}tags[]]" template="$:/core/ui/TagTemplate">
</$list>
</$reveal>
<<docit>> Specially document using filter in $var and difference with $set
;Is there any way to refine a search in title followed by a search in text body of that tiddler?
Yes, the search operator can be refined by field name. So I assume that the most optimized filters for your queries would work like:
```
[search:title[foo]search:text[bar]]
```
In the above snippet, all tiddlers have foo in their titles and bar in their text will be shown!
!!! Example
```
{{{[search:title[kookma]search:text[rb]]}}}
```
{{{[search:title[kookma]search:text[rb]]}}}
How to select among three tiddlers in below priority? # if `tid1`, `tid2`, and `tid3` are existed then return `tid1` # if `tid2`, and `tid3` are existed return `tid2` # if `tid1` and `tid2` are NOT existed then return `tid3` One use case: # Display a tiddler using template `tid2` (the one tagged with b) # If user supplied its own template use user template here is `tid1` (the one tagged with a) # If not supplied `tid1` nor `tid2` use a default template called `tid3` !!Solution The below solution uses the else (`~`) operator if the first filter run is empty then the result of second will be returned. The list filter `+[limit[1]]` limits the output to one tiddler and is required when each filter run results in more than one tiddler. ``` <$list variable=template filter="[tag[a]] ~[tag[b]] ~[[tid3]] +[limit[1]]"> <$transclude mode=block tiddler=<<template>> /> </$list> ``` !! Other solution This is an elementary solution by [[Mohammad|https://groups.google.com/d/msg/tiddlywiki/X9-LwZiCFXA/Lganv_AOBAAJ]] uses OR run and `emptyMessage` attribute. ``` <$list filter="[tag[a]] [tag[b]] +[limit[1]]" emptyMessage="tid3"> <<currentTiddler>> </$list> ``` !! Alternative solution This is an alternative solution by [[TonyM|https://groups.google.com/d/msg/tiddlywiki/X9-LwZiCFXA/TLzBF4MPBAAJ]] uses OR run. ``` <$list filter="[tag[a]] [tag[b]] [[tid3]] +[limit[1]]"> <<currentTiddler>> </$list> ```
;Using $select widget how one can trigger an action when a new item is selected? :The $select widget has an actions attribute which will fire on new selection !! Example Write a code to use $select widget and get the text of a selected item and copy it to a demo tiddler. !!Code <<code-link exmp111/macro/select-action>> ><$transclude tiddler="exmp111/macro/select-action" field=text/> This will set the text field of [[exmp111/demo/tidPath]] ><$transclude tiddler="exmp111/demo/tidPath" field=text mode=block/> !! Remarks * The $select widget listtiddlers with filter: `[prefix[exmp111/data]]` * In dropdown list one can select among tiddlers * On selection the `slAction` macro triggered * The `slAction` sets the text of [[exmp111/demo/tidPath]] to the text of selected item !! See also * The [[exmp067]] also shows an advanced usecase of actions string
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K/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaP+H9n/AASc/wCjrf8AzBf7Sf8A852gD9gKK/H/AP4f2f8ABJz/AKOt/wDMF/tJ/wDznaKAPzHooor+gD5cKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/2Q==
;How to find which filter operator is a selection constructor? : You can find them by tag or searching title * search by tag ** `[tag[Selection Constructors]]` * search by title field ** `[search[constructor]suffix[Operator]]` <<< [[Tiddlywiki|https://tiddlywiki.com/prerelease/#Selection%20Constructors]] The output of a //Filter Step// depends on its //operator//: * Most operators derive their output from their input. For example, many of them output a subset of their input, and thus truly live up to the name of filters, narrowing down the overall output of the containing run. These operators are called //selection modifiers//. * A few operators ignore their input and generate an independent output instead. These are called //selection constructors//: they construct an entirely //new selection//. A good example of a constructor is <<.olink title>>. The output of `[title[A]title[B]]` is just <<.tid B>>. But the <<.olink field>> operator is a modifier, so `[title[A]field:title[B]` outputs nothing at all. <<<
;Is it possible to colorify a TOC entry based on the current toc macros?
By default, the items in a TOC display use the ''title'' of each tiddler. However, if you define a ''caption'' field for a tiddler, the TOC will use that text instead. This is most often used to bypass the CamelCase name of the tiddler (e..g, "Hello there", instead of "HelloThere") or to provide a longer, more prosaic alternative (e.g, "Greetings and Felicitations!").
However, the caption text can also contain other wiki syntax, such as the `@@` styling syntax, which lets you specify CSS classnames or inline styles. For example, suppose you want a TOC item to be displayed using red text. To do this, you could write the following in the caption field for that tiddler:
`@@color:red; Text goes here@@`
Alternatively, for more "global" control over the appearance, you could use a CSS classname (e.g., "myTOC"), like this:
# First, define a stylesheet tiddler (tagged with `$:/tags/Stylesheet`), containing <div>
```
.myTOC { color:red; }
```
</div>
# Then, in the caption field of the desired TOC item, write:<div>
```
@@.myTOC Text goes here@@
```
</div>
The advantage of the classname method is that you then have centralized control over the styling for ''all'' similar TOC items, without having to separately re-edit the caption entries of each item. Thus, if you decide to change the color, or add other CSS attributes, you only have to change the stylesheet tiddler. For example:
```
.myTOC { color:green; font-size:150%; border:1px solid; }
```
<<docit>>
Search in fields of listed tiddlers
<$macrocall $name="wikitext-example-without-html"
src="""Search <$select tiddler="$:/temp/searchfilter" default="Choose">
<option value="Choose">-Choose one-</option>
<option value="[has[fa]search:fa{$:/temp/search}]">fa</option>
<option value="[has[fb]search:fb{$:/temp/search}]">fb</option>
<option value="[has[fc]search:fc{$:/temp/search}]">fc</option>
</$select>
<$edit-text tiddler="$:/temp/search" tag="input" />
<$macrocall $name="list-links" filter={{$:/temp/searchfilter}} />
"""/>
;How to use `currentTiddler` as default value, when a macro parameter getting a tiddler title is empty? :Use `$set` widget and set the emptyValue attribute! !! Example The below macro needs a tiddler title as its parameter `tiddlername`, the `$set` widget defines a new variable and * if the parameter `tiddlername` //has been passed//, the `selected-tiddler` variable assigned to it * if the parameter `tiddlername` //has not been passed//, then the `selected-tiddler` variable assigned to `currentTiddler`. ``` \define mymacro(tiddlername) <$set name=selected-tiddler value="$tiddlername$" emptyValue=<<currentTiddler>> > Action: <<selected-tiddler>> </$set> \end <<mymacro>> <<mymacro "another tiddler">> ```
\define mymacro(var1, var2:"") <$set name=result value="$var2$" emptyValue="$var1$"> <li>v1: $var1$</li> <li>v2: $var2$</li> <li>v2(result): <<result>></li> </$set> \end ; Develop a macro having two parameters like (`var1`, `var2`) if `var2` is empty set its value to `var1` :You need to use a third variable inside macro to take the value of `var1` whenever `var2` is empty ``` \define mymacro(var1, var2:"") <$set name=result value="$var2$" emptyValue="$var1$"> <li>v1: $var1$</li> <li>v2: $var2$</li> <li>v2(result): <<result>></li> </$set> \end ``` * ''Example'' ``` <<mymacro test next>> <<mymacro test>> ``` * ''Result'' <<mymacro test next>> <<mymacro test>>
I've been getting some questions about how you can host your ~TiddlyWiki site on ~GitHub. ! Step 1 - setup ~GitHub pages To start with you'll need an account on ~GitHub. Then you'll need to setup ~GitHub Pages - this is really easy just follow the instructions at https://pages.github.com/. My github account is at https://github.com/joearms and my ~GitHub pages directory is at https://github.com/joearms/joearms.github.io Having set this up if I create a file called `index.html` and store it in https://github.com/joearms/joearms.github.io/blob/master/index.html. Having done this it will magically appear at https://joearms.github.io/index.html. All the files under https://github.com/joearms/joearms.github.io can be seen through a web browser pointed at https://joearms.github.io/ ! Step 2 - publish your TW A ~TiddlyWiki is a single HTML file. So you can either just download [[An empty TiddlyWiki|https://tiddlywiki.com/#Empty%20Edition:%5B%5BEmpty%20Edition%5D%5D]] create your wiki save the file and upload this to your github account. Or, use the node.js server version of the ~TiddlyWiki ... ! Making a TW using the node TW server In my case I use the node.js version of the ~TiddlyWiki - You have to follow these [[installation instructions|https://tiddlywiki.com/static/Installing%2520TiddlyWiki%2520on%2520Node.js.html]] and make a global executable called `tiddlywiki.js` The node server stores all the individual tiddlers as files in the regular file system, this fits nicely in with my other programs. One this is done I have a couple of scripts to simplify things `start` is as follows ``` #!/bin/sh # start TW on port 7123 tiddlywiki.js share --server 7123 ``` This starts a ~TiddlyWiki server on port 7123 `share` is the name of a directory where all the tiddlers are stored. And `publish` is: ``` #!/bin/sh # build a single File TW in share/output/index.html tiddlywiki.js share --build index mv share/output/index.html .. ``` So to make my blog I run `start` - and edit the blog in my browser. I create a new blog with a title like `2019-02-26 My Title` and give this the tag `published` (this is so the blog will end up in the index). Look at [[Index]] to see how this is done :-) When it's ready I stop the node server and run `publish`. Then I check in the new file `index.html` and any of the tiddlers that have changed. Then commit and upload to ~GitHub. If you poke around under https://github.com/joearms/joearms.github.io/tree/master/tw you'll see what was need to create this wiki.
* The table doesn’t distinguish between using a syntax as an attribute value vs. freestanding — for example, freestanding double curly brace transclusion will wikify the target tiddler, while attribute double curly brace transclusion will just return the raw text
* The `<<__parameter__>>` example is a bit misleading because there are two things going on: the automatic conversion of a parameter into a variable name, and the usage of that variable name with the double angle bracket syntax. If a macro transcludes a tiddler than that tiddler would “see” the double underscored parameters just like any other inherited variable
---
WikiText provides a range of "shorthands" for widgets. These are less versatile than the widgets but they are typically simpler to use when authoring wikitext.
!! Links
Shorthand links are based on the LinkWidget
| shorthand syntax | "lingo" | description | more info |h
| `[[`title`]]` |"a link (with brackets)"|Create link to tiddler|[[Linking in WikiText]]|
| CamelCase |"a camel case link"|Create link to tiddler|[[Linking in WikiText]]|
!! Transclusions
Shorthand transclusions are based on the TranscludeWidget.
| shorthand syntax | "lingo" | description | more info |h
| `{{`title`}}` |"transclude"|Transclude tiddler text field|[[Transclusion in WikiText]]|
| `{{`title`!!`field`}}` |"transclude field"|Transclude tiddler field|[[Transclusion in WikiText]]|
| `{{!!`field`}}` |"transclude field"|Transclude field in current tiddler|[[Transclusion in WikiText]]|
| `{{`...`||`template`}}` <br>"..." represents either of the transclusions above|"template transclusion" |Transclude text / other field value and display via template|[[Transclusion in WikiText]] under ""|
''Index transclusions'': The above shorthand forms apply equally well to transclude values from index tiddlers. To transclude values from index tiddlers, you use the same shorthand form as above but with `##` instead of `!!`, for example `{{`title`##`index`}}`
!! Filtered transclusion
A filter transclusion works as a kind of "in-line ListWidget". It takes a filter as input, runs it, and from the resulting tiddlers it transcludes the titles.
| shorthand syntax | "lingo" | description | more info |h
| `{{{`filter`}}}` |"filtered transclusion"|Transclude the titles from the filter output||
| `{{{`filter`||`template`}}}` |"filtered transclusion with a template"|Transclude the titles from the filter output and display via template||
!! Macro calls and variable calls
Macro calls and variable calls are based on the MacroCallWidget
| shorthand syntax | "lingo" | description | more info |h
| `<<`name`>>` |"macro call" or<br>"variable call"|Substitute in contents of macro/variable||
| `<<`macro "parameter"`>>` |"macro call with parameter"|Substitute in contents of macro using parameter as argument||
| `<<`macro "p1" "" "p3"`>>` |"macro call with parameters"|Substitute in contents of macro using parameters as argument. Note that second parameter is empty in this example.||
|`<<__`parameter`__>>`|"(call for) parameter as variable"|?(only inside macros)<br>Evaluate parameter||
!! Delimiters
String delimiters to encapsulate strings as arguments. You can use either pair as long as the string itself doesn't contain that/those same delimiter.
| shorthand syntax | "lingo" | description | more info |h
| `'`string`'` |"single quotes"|Delimiter (accepts other delimiters except itself)||
| `"`string`"` |"double quotes"|Delimiter (accepts other delimiters except itself)||
|`"""`string`"""`|"triple double quotes"|Delimiter (accepts other delimiters except itself)||
!! Notes
!!! Do not nest shorthand forms
It is not possible to nest shorthand forms. For example, this does NOT work
`<<mymacro {{myargument}}>>`
Instead you must use the explicit widget for the outer part
`<$macrocall $name=mymacro myparameter={{myargument}} />`
!!! Filters
Inside filters, the outer brackets are typically omitted. Example
`[tag<tagvariable>]` or `[tag{!!title}]`
!!! Acknowledgement
* [[Josiah|https://groups.google.com/d/msg/tiddlywiki/3DyHxqqFQbg/1JP6_DzeAAAJ]], started the question.
* [[Eric Shulman|https://groups.google.com/d/msg/tiddlywiki/3DyHxqqFQbg/JxjN6kYjAQAJ]] replied the question.
* [[Passingby|https://groups.google.com/d/msg/tiddlywiki/3DyHxqqFQbg/XK3Id0JzAQAJ]] compiled the Eric answer.
* [[Mat|https://groups.google.com/d/msg/tiddlywiki/3DyHxqqFQbg/HYcVvkJBAAAJ]] created this shorthand summary.
! Conditional Summary Excerpt from [[Tobias Beer|https://tobibeer.github.io/tb5/#Conditional%20Summary]]: How to conditionally generate a summary section (or other related information) at the top of all tiddlers tagged `xx`, so that one doesn't have to click twice, skim the fields until one finds there to be a summary field. !!Step 1 Create a [[tiddler|$:/.tb/ui/ViewTemplate/summary]] tagged [[$:/tags/ViewTemplate]] containing: ``` <$list filter="[all[current]tag[xx]]"> <$transclude field="summary" mode="block"/> </$list> ``` !!Step 2 Create a `list-after` field with the value "[[$:/core/ui/ViewTemplate/tags]]" to make the summary segment appear immediately after the tags. !Example The [[$:/.tb/ui/ViewTemplate/summary]] serves as a template for a conditional ViewTemplate section that displays the value of the ''summary'' field for all tiddlers having a `summary` field defined, see [[Example 62: Conditional Summary]]..
; How to display a table of contents after the body of those tiddlers that are tagged with say TableOfContents or other root tag?
: Use a viewTemplate with proper toc macro
!! Solution i by bimlas
* Create a new tiddler
* Tag it with `$:/tags/ViewTemplate`
* Put the below script as its text
```
<$list filter="[all[current]tag[TableOfContents]]" variable="null">
<h3>Contents</h3>
<div class="tc-table-of-contents">
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>>/>
</div>
</$list>
```
;Remarks
:the first $list widget only filters current tiddler have the root tag, here `TableOfContents`
:the $macrocall widget calls the `toc-selective-expandable` macro to display an expandable table of contents with the current tiddler as root tag (means shows the toc tree with current tiddler as the node)
!! Solution ii by TonyM
This is a more elegant solution and one can manually control when and how TOC is displayed on the tiddler using viewTemplates. See this solution [[here|https://groups.google.com/d/msg/tiddlywiki/wijV7wNnwpQ/nwPZC1WHAgAJ]]
* Create a new tiddler
* Tag it with `$:/tags/ViewTemplate`
* Put the below script as its text
```
\define default-toc-here()
<h4>Optional TOC here</h4>
<$list filter="[tag<currentTiddler>limit[1]]" emptyMessage="//nothing tagged with <<currentTiddler>>//" variable=nul >
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> >
</$list>
\end
<$list filter="[all[current]has:field[toc-here]]" variable=nul>
<$list filter="[all[current]get[toc-here]]" variable=toc-tiddler emptyMessage=<<default-toc-here>> >
<h4>Optional TOC <<toc-tiddler>></h4>
<$macrocall $name="toc-selective-expandable" tag=<<toc-tiddler>> >
</$list>
</$list>
```
* Nothing will happen right away.
* Now add the field toc-here to any tiddler and it will provide a toc based on the current tiddler. Use new here to add items to its toc
* If however you give that field a value of tiddlername eg HelloThere then the tiddlername will be used as the root of the TOC
* Advantages of this approach
** No additional tag use
** Ability to reference other parts of a TOC
<<wikitext-example-without-html """
*''Case 1''
<$list filter="[tags[]!is[system]]">
<$view field=title format="text"/>
</$list>
*''Case 1''
<$list filter="[tags[]!is[system]]">
{{||$:/core/ui/TagTemplate}}
</$list>
""">>
```
<$list filter="[tags[]]"><$link><$transclude tiddler={{!!icon}}/></$link></$list>
```
<$list filter="[tags[]]"><$link><$transclude tiddler={{!!icon}}/></$link></$list>
;How do I show tags along with tiddler title in the search result?
:Every tiddler consists of fields. One field is the `title` field. Another is the `tags` field. They can be transcluded using this form `{{!!fieldname}}`.
The solution is given as
```
<div class="tc-menu-list-item">
<$link to={{!!title}}>
<$view field="title"/>
<$list filter={{!!tags}}>
<$macrocall $name=tag-pill tag={{!!title}} />
</$list>
</$link>
</div>
```
!! Remarks
* The `tc-menu-list-item` was taken from $:/core/ui/ListItemTemplate
* The `<$link>...</$link>` is new in TW 5.1.20 and equal to `<$link to={{!!title}}>...</$link>`
* The ` <$list filter={{!!tags}}>` list all tags in the currentTiddler
* The `tag-pill` macro is called to show the tags in form of tag-pill one by one
!! Example
Show a list of all tiddlers have in their title the `xampl` AND `6`
<$macrocall $name="wikitext-example-without-html"
src="""><$list filter="[search:title[xampl 6]]">
<div class="tc-menu-list-item">
<$link>
<$view field="title"/>
<$list filter={{!!tags}}>
<$macrocall $name=tag-pill tag={{!!title}} />
</$list>
</$link>
</div>
</$list>
"""/>
; How to list all tiddlers created in the same day and month of today?
:This requires to list tiddlers have different creation year but same month and day as today. The `split`, `join` and `match` operator of TW5.1.20 is used to do this
!! Example
{{exmp086/list-tiddlers-with-today-date||template/code}}
which results in:
>{{exmp086/list-tiddlers-with-today-date}}
!! Remarks
* The first `$set` widget stores the month and day of today date in `todayMonthDay`
* The first `$list` widget lists all tiddlers in the wiki
* The second `$set` gets the created dates of each tiddler. The default format is like `20160812195638183` which has 17 digits. The filter splits the 17 digits and selects the last 13 digits and then the first 4 digits, which represents the month-day as `0MM0DD`. Then it will be stored in `monthDay`
* The last `$list` compares the two values of `monthDay` and `todayMonthDay` and if they match, then a link to tiddler will be displayed.
See also: [[Simple Comparison of Two Variables]]
The below method has the advantage of being able to test any two + items that generate a "title" in filter notation.
Note: `<this-wiki>` is the result of a wikify widget, not a macro.
The advantage here is you can put the Same and Different outcomes where ever you want, can have as much or as little wikitext inside each list widget resulting for each option.
You can see it would be easy to add three or more values that should be the same", all you must do is to follow the `-[[2]]` with `-[[3]]` `-[[4]]` etc...
<$macrocall $name="wikitext-example-without-html"
src="""<$set name="this-wiki" value="Mohammad">
<$list filter="[<this-wiki>] [{!!wiki-owner}] +[count[]] -[[2]]">
same
</$list>
<$list filter="[<this-wiki>] [{!!wiki-owner}] +[count[]] -[[1]]">
different
</$list>
</$set>
"""/>
How to make a simply comparison between two variables or one variable and a fields content.
* eg: `<<currentWiki>>` and `{{!!wiki-owner}}`
* or `<<currentWiki>>` and `<<wiki-owner>>`
A simple test or filter that will be true if they are the same and that will be false if they are the same
<$macrocall $name="wikitext-example-without-html"
src="""
<$vars test1="abc" test2="abc">
<$set name="myVariable" filter="[<test1>] -[<test2>]" emptyValue="They match" value="They dont match">
<$text text=<<myVariable>>/>
</$set>
</$vars>
"""/>
This example shows how template can be used in a list. Assume you several tiddlers tagged with `exmp015` and each tiddler has a `color` field. You can display their text in the color specified in their color field as below:
<<wikitext-example-without-html
src:"""<$list filter="[tag[exmp015]]" template="Exmp015-Template"></$list>
""">>
!! Template
The template used here is:
<code><$text text={{Exmp015-Template}}/></code>
[[Another solution|https://groups.google.com/d/msg/tiddlywiki/c1maS92I83w/URU4o1NxCQAJ]] is to use the wikify widget as below in your template
```
<$wikify name="colorcode" text="<$view field='color'/><br/>">
<font color=<<colorcode>>>The quick fox...</font><br/>
</$wikify>
```
To change the size of icon simply put the below code inside a tiddler tagged with `$:/tags/Stylesheet`
```
.tc-tiddler-frame .tc-tiddler-controls {
font-size: 2em;
}
```
\define slider(label,tiddler)
<$button popup="$:/temp/$tiddler$" class="tc-btn-invisible tgc-slider"><$text text="$label$ »"/></$button>
<!-- Since a tiddler is unique, the state tiddler will be unique -->
<$reveal type="nomatch" text="" default="" state="$:/temp/$tiddler$" animate="yes">
{{$tiddler$}}
</$reveal>
\end
!! Slider
<<<
The slider macro uses the `reveal` widget plus a `button` to show/hide the content of a tiddler.
See this Ref http://tw5custom.tiddlyspot.com/ for more information.
The calling syntax is as below:
```
<<slider label tiddler>>
```
Where the label and tiddler are the text to be displayed for slider and the title ot tiddler its content to be displayed.
<<<
!! Example
<<<
<$macrocall $name="wikitext-example-without-html"
src="""<<slider "Admin tools" "Administration Tools">>
"""/>
<<<
<<alert primary "''Note:'' This macro has not a persistent state, so when lose its focus it will hide.">>
!! See also
* [[Slider Macro II]]
* [[Slider Macro III]]
\define slider-ii(title)
<$set name="revealState" value=<<qualify "$:/state-reveal-$title$">>>
<h2>
<$reveal type="nomatch" state=<<revealState>> text="yes">
<$button class="tc-btn-invisible tc-tiddlylink" set=<<revealState>> setTo="yes">
{{$:/core/images/right-arrow}}
</$button>
</$reveal>
<$reveal type="match" state=<<revealState>> text="yes">
<$button class="tc-btn-invisible tc-tiddlylink" set=<<revealState>> setTo="no">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
<$view tiddler="$title$" field="caption">
<$view tiddler="$title$" field="title"></$view>
</$view>
</h2>
<$reveal type="match" state=<<revealState>> text="yes">
<$transclude tiddler="$title$" mode="block" />
</$reveal>
</$set>
\end
! Slider macro II
<<<
This is another slider macro by //{{!!responder}}//. Another slider macro introduced by //{{Slider Macro!!responder}}//. See [[Slider Macro]]
Both uses the `reveal` widget to hide/show contents as a slider. The slider macro II uses tiddler title or caption as slider label and beautiful arrows to show the state of slider (opened or closed)
<<<
!! Code
><<show-macro>>
!! Example
<<<
<$macrocall $name="wikitext-example-without-html"
src="""<<slider-ii "Button Tutorial">>
"""/>
<<<
! Example II
<<<
This is a more advanced example shows the use of
```
<$list filter="[tag[event]]">
<$macrocall $name="slider-ii" title=<<currentTiddler>> />
</$list>
```
Results in:
<$list filter="[tag[event]]">
<$macrocall $name="slider-ii" title=<<currentTiddler>> />
</$list>
<<<
\define slider(label,text) <$button popup="state/$(currentTiddler)$$label$" class="tc-btn-invisible"><span style="color:#e55;text-decoration: underline">$label$</span></$button> <$reveal type="nomatch" text="" default="" state="state/$(currentTiddler)$$label$" animate="yes"> <blockquote> $text$ </blockquote> </$reveal> \end A simple slider macro is one accepts a label and a text to be displayed on clicking the label. The below code contains: * A macro to accpets label, and text as input parameters * A `button` to change a state tiddler * A `reveal` widget to display the text based on the content of slide tiddler ``` \define slider(label,text) <$button popup="state/$(currentTiddler)$$label$" class="tc-btn-invisible"><span style="color:#e55;text-decoration: underline">$label$</span></$button> <$reveal type="nomatch" text="" default="" state="state/$(currentTiddler)$$label$" animate="yes"> <blockquote> $text$ </blockquote> </$reveal> \end ``` !! Example Click on the undelined red words to see the slider in action. <$macrocall $name="wikitext-example-without-html" src="""<<slider "Carlla" "Hello there. This is a test.">> """/> <$macrocall $name="wikitext-example-without-html" src="""<<slider "Pira" "My name is Pira.">> """/> <<alert warning "''Note'': Slider content will be hidden if it loses its focus, e.g when click outside the label area.">> !! See also * [[Slider Macro]] * [[Slider Macro II]]
<<docit>> !! Code <<show-macro "exmp114/macro/macth-function">>
;How to sort tiddlers tagged with specific tag through a dropdown list? : Use one of sort tagged tiddler macro with a `edit-text` widget. !!Example In [[Example 48: Sort Tag Wizard]] a code has been given to do the job. It includes * An `edit-text` widget to let type the desired tag * A dropdown to select a tag from list of all tags * A macro to sort tiddlers tagged with selected one !! Similar topics The below topics are related to sort items. This method is also used in some of the below solution. <<list-links "[search:title[sort]] [search:keywords[sort]] -[<currentTiddler>]" type:"ol">> <<vspace 1cm>> <<alert info "''Note:'' Based on this solution an elegant code has been developed lets you sort tiddlers using the tagpill dropdown menu. See [[Buttons to Sort Tiddlers in Tagpill]]">>
; How sort tiddlers in tag-pills? : One solution is the manual drag and drop and reorder tiddlers inside tag-pill. The below solution shows how to do this automatically. When you click on a tag and see a list, and then drag an item in the list, where is that sort-order stored? It's stored in the `list` field of the tiddler with the same name as the master tag that you clicked on. So, for instance, if you go to TiddlyWiki.com and open the HelloThere tiddler, and look at the "list" field, you will see the tiddlers that reference "HelloThere" listed in the field. They are not in alphabetical order. If you copy the following into a tiddler at TiddlyWiki.com, and press the "Sort" button, the corresponding tiddlers will be sorted: ``` \define alphasort() <$action-listops $tiddler="HelloThere" $subfilter="+[sort[]]"/> <$button actions=<<alphasort>> Sort "HelloThere" </$button> ``` You can make changes to this code to sort the list field of any tiddler. The catch is, that there is no requirement that all tiddlers that are tagged by a tiddler are listed in its list field. This version will ''populate'' the field AND ''sort'' it: ``` \define alphasort() <$action-listops $tiddler="HelloThere" $filter="[tag[HelloThere]sort[]]"/> <$button actions=<<alphasort>>> Sort "HelloThere" </$button> ``` A generic macro has been developed to use for sorting tagged tiddlers in the list field. See [[Example 046: Sort Tiddlers in Tag Pill]]
;Is there any way to sort toc entries based on a field value? : Table of contents (TOC) is normally sorted based on caption and title field, but it is possible to use other field. The second parameter of the `toc-selective-expandable` macro uses filter syntax to apply a sort order to the set of tiddlers being displayed at each level of the tree. `sort[toc-order]` means "sort the list of tiddlers by the value in the `toc-order` field of each tiddler. Thus, if each tiddler has a `toc-order` field containing a number then when those tiddlers are shown in the tree, they will be sorted based on those numbers. !! Example The below code shows a table of contents with //hirbod// as the root tag and sorts entries first based on title and then based on `page` field. ``` <div class="tc-table-of-contents"> <<toc-selective-expandable 'hirbod' "sort[title]nsort[page]">> </div> ``` So, if these tiddlers tagged with //hirbod//, and have `page` field value as below: * Book, page: 0 * Article, page: 2 * Chapter, page: -1 * Section, with no `page` field Will results in: <<< * Chapter * Book * Section * Article <<< <<alert info "''Note:'' It seems that if a tiddler does not have the field, a default value of ''zero'' will be considered, when use nsort instead of sort!" >>
The basic requirements can be summarized as follows: # ''anchor'': ability of setting in the text the place the original reference, as well as its label and description; # ''reference'': ability of repeatative referencing of the original reference from other places to the tiddler and from other tiddlers; # ''list'': ability to create a list of all primary references; # ''formatting'': ability to display whether the label or the automatic number with a variety of representations (e.g., in round or square brackets, with or without description, etc.), in addition to the description inserted in the text should be wikified, that is, processed by the wiki parser, to be able displaying, in particular, math formulas, other macros, etc.; # ''popup window'': mouse clicking a primary or a repeatative reference launches a popup window containing wikified reference descriptor; # ''toolbar button'': a button in the toolbar of the editor (as well as a shortcut key) to insert a primary and a repeatative reference, selecting the type of object from the list, and for repeatative reference selecting the primary reference via label and description listing.
How one can activate the spellcheck for codemirror editor?
A possible solution would be to add a new editor preview pane that contains a plain text editor so that you could switch to it quicklt to perform spell checking and correction.
Create a new tiddler called `$:/_EditorPreview` tagged `$:/tags/EditPreview`, add a `caption` field containing `Spell check`, and the following content:
```
<$edit-text tiddler=<<currentTiddler>> class="tc-spell-check-preview"/>
<style>
.tc-spell-check-preview {width:100%;}
</style>
```
Then select "Spell check" as the editor preview.
In my tests, I needed to click on the preview editor textarea in order to activate spell checking and make the dotted underlines visible.
''Note'': This is not work in Tiddlydesktop.
;Having a date string like "2019-01-28" split it to day, month, and year and return result as Jan 28, 2019 : Use `splitbefore` and `removeprefix` and use a data dictionary to map numbers 01 ... 12 to months Jan... Dec. !! Solution The solution needs # a macro to get the date string, split the date string into year, month and day # a data dictionary to map numbers 01...12 to months Jan,...Dec. ``` \define date-str(date) <$list filter="[[$date$]splitbefore[-]]" variable=x > <$list filter="[[$date$]removeprefix<x>splitbefore[-]removesuffix[-]]" variable=m> <$list filter="[[data-months]getindex<m>]" variable="mname"> <$list filter="[[$date$]splitbefore[-]removesuffix[-]]" variable=y > <$list filter="[[$date$]removeprefix<x>removeprefix<m>removeprefix[-]]" variable=d > <<mname>> <<d>>, <<y>> </$list> </$list> </$list> </$list> </$list> \end ```
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
Start a new repository and publish it to GitHub First, you will need to create a new repository on GitHub. You can learn how to create a new repository in our Hello World guide. Do not initialize the repository with a README, .gitignore or License. This empty repository will await your code. reference from [[https://guides.github.com/introduction/git-handbook/|https://guides.github.com/introduction/git-handbook/]] create a new directory, and initialize it with git-specific functions `git init my-repo` change into the my-repo directory `cd my-repo` create the first file in the project `touch README.md` git isn't aware of the file, stage it `git add README.md` take a snapshot of the staging area `git commit -m "add README to initial commit"` provide the path for the repository you created on github `git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git` push changes to github `git push --set-upstream origin main`
;Can I stitch Tiddlers together for printing?
Put the following CSS syntax in a tiddler, tagged with `$:/tags/Stylesheet`:
```css
@media print {
.tc-tiddler-frame { page-break-before:always; }
}
```
<div class="tc-table-of-contents"> <<toc-selective-expandable 'stock'>> </div>
The below css can split the stroy river in two columns
```
.tc-story-river { display: flex; flex-wrap: wrap; }
.tc-tiddler-frame { max-width: 49%; margin-right: 1%; }
```
* Use max-height, no wasted space for smaller tiddlers
* Put that in .tc-tiddler-body, that way the heading part won’t scroll (title,etc,tags)
```
.tc-tiddler-body { max-height: 24em; overflow: auto; }
```
There is a nice demo with a button to switch single / two columns view. Have a look at:
> [[Solar flair|http://solar-flair.tiddlyspot.com/]]
<mark>Check and download later.</mark>
You can use this construction to cause the wrapped content to be assigned specified CSS classes or styles: <<wikitext-example src:"@@.myStyle * List One * List Two @@ ">> Similar syntax is used to assign styles. For example: <<wikitext-example src:"@@background-color:red; * List One * List Two @@ ">> Multiple styles and classes can be mixed. For example: <<wikitext-example src:"@@.tc-tiddler-frame @@width:400px; Some text @@ ">>
Basically, you just create a tiddler (any title) containing your desired CSS, and tag it with `$:/tags/Stylesheet`. That's it. The CSS is automatically applied as soon as you finish editing the tiddler.
To create print-specific CSS rules, use the `@media` CSS syntax:
```
@media print { ... print-specific CSS rules go here ... }
```
Of course, by default, printing will show all rendered elements of the page. To limit the printed output, you need to decide which elements are to be excluded from the output, and then add rules to the print-specific definition to hide those elements. For example, suppose you want to print tiddlers but omit the tags from the output. You could write:
```
@media print { .tc-tags-wrapper { display:none; } }
```
''Note'': in most browsers, you can find the class name for a TiddlyWiki element by right-clicking on the element and select "//inspect element//" from the popup menu. In this particular case (hiding the tags), inspecting a rendered tag on a tiddler takes you to a span with a class name of `tc-tag-label`. Working up from that element, you will find a containing element called `tc-tags-wrapper` that surrounds the entire tags display area (not just the specific tag you clicked on). Hiding THAT element hides ALL the tags in ALL tiddlers.
For hiding specific pieces of tiddler content, define a CSS rule (e.g., ".hideForPrint"), like this:
```
@media print { .hideForPrint { display:none; } }
```
Then, within your tiddler content, you can use it like this:
```
@@.hideForPrint ... screen-only content goes here... @@
```
When displayed on-screen, you will see the enclosed content, but when printed, the enclosed content is suppressed.
Ref: [[Mark|https://groups.google.com/d/msg/tiddlywiki/r-O4O4v_NA8/6uVcmYyEAAAJ]]
See also [[CSS inside Macro]]
; To set a new css, what is the best solution?
# create a stylesheet tiddler? or
# put the css inside a style tag in tiddler (inline css)?
* ''Solution''
!! Use inline CSS
<<<
This is a quick and dirty solution to use custom stylesheet but the problme is the leakage! Whne a tiddler with inline css is open, the css inside it will be available to all opened tiddler and also to the wiki iteself. The below show an example
```
title: myTest
<style>
.mcls{color: red;}
</style>
<div class="mcls">This is a text in red.</div>
```
<<<
!! Use stylesheet tiddler
<<<
This is the recommended solution. In this way you create a tiddler and tag it with `$:\tags\Stylesheet` and put your css code inside. This css is available to all tiddler and the whole wiki. Opening the tiddler has no effect. As an example see below code
```
title: myCSS
tag: $:/tags/Stylesheet
.mcls{color: red;}
```
In any other tiddler you can use the css in above tiddler. For example
```
title: myTest
<div class="mcls">This is a text in red.</div>
```
<<<
<<alert danger "''Don't use inline css'' (using style tag inside normal tiddlers) as much as possible. They have the risk of unwanted leak">>
We can use wikitext primitives within stylesheets to make conditional rules.
Tiny bit of background about stylesheets: TiddlyWiki in the browser renders all tiddlers `tagged $:/tags/Stylesheet` into a `<style>` element. Tiddlers of content type `text/css` will be processed as raw CSS, but tiddlers with the content type `text/vnd.tiddlywiki` (the default) are processed by first wikifying them, and then extracting the plain text portion. (So, for example, if a `text/vnd.tiddlywiki` stylesheet were to contain the text `<p>23</p>`, the plain text content would be the string “23”).
There's a danger of inadvertent wikification of stylesheet text, and so we usually use a `\rules pragma` to restrict the wikitext rules that will be observed within the stylesheet to just transclusion and macro invocations:
```
\rules only filteredtranscludeinline transcludeinline macrocallinline macrocallblock
```
Putting the pieces together, here’s a stylesheet that sets the page background colour to green whenever the sidebar is hidden:
Open [[example 18|Example 18: Conditionally Change Background Color]] and add `$:/tags/Stylesheet` tag to see it is in action.
```
\define if-sidebar-visible(text)
<$reveal state="$:/state/sidebar" type="nomatch" text="yes" default="yes">
$text$
</$reveal>
\end
\define if-sidebar-not-visible(text)
<$reveal state="$:/state/sidebar" type="nomatch" text="no" default="yes">
$text$
</$reveal>
\end
\rules only filteredtranscludeinline transcludeinline macrocallinline macrocallblock
html body.tc-body {
background: <<if-sidebar-visible "green">><<if-sidebar-not-visible "blue">>;
}
```
; How and where subfilter is used? Imagine you want to dynamically create filters. You can obviously use macro definitions and use them like ``` filter=<<mymacro>> ``` Issue arises when you want to add steps to the filter. You cannot go ``` filter="<<mymacro>> +[tag[mytag]]" ``` Subfilter solves this issue. You can go like ``` filter="[subfilter<mymacro>] +[tag[mytag]]" ``` And in another tiddler you can go like ``` filter="[subfilter<mymacro>append[!]]" ``` Basically it enables you to define dynamic filters and reuse them. See [[Example 20|Example 20: Using subfilter]]
\define sumlist()
<$list filter="[all[current]indexes[]]" variable="index">{{{ [all[current]getindex<index>] }}},</$list>
\end
\define summarize-dataTiddler(tag:"")
<table>
<th>Data Tiddler</th><th>Count</th><th>Sum</th><th>Avgerage</th>
<$list filter="[tag[$tag$]type[application/x-tiddler-dictionary]!has[draft.of]]">
<tr>
<td>{{!!title}}</td>
<$list filter="[all[current]indexes[]count[]]" variable="count">
<$wikify name="sumlist" text="""<<sumlist>>""">
<$list filter="[<sumlist>split[,]sum[]]" variable="sum">
<$list filter="[<sum>divide<count>fixed[2]]" variable="avg">
<td><<count>></td>
<td><<sum>></td>
<td><<avg>></td>
</$list>
</$list>
</$wikify>
</$list></tr>
</$list>
</table>
\end
; How to summarize the numerical values of several dataTiddlers like number of indexes, sum of their values, average of their values, ... in form of a table?
: Use $list widget to count, take sum and average employing the new mathematics operators in Tiddlywiki 5.1.21+
!! Example
Assume set of data tiddler all tagged with `exmp109` have different indexes like ia, ib, ic, etc. Write a script to create a table each row built from a dataTiddler and each column one of the computed value, like count, sum, and average.
<!-- display code -->
<$macrocall $name="slider" label="Code" src=<<show-macro>> />
!! Results
<$macrocall $name="wikitext-example-without-html"
src="""<<summarize-dataTiddler tag:"exmp109">>
"""/>
!!Remarks
<<docit>>
;Is it possible to sum the values held in Field A wherever the field exists? : Yes, use proper fields !! Example Sum the values of field `fa` in all tiddlers tagged with `exmp118` Using filters, you can write: <$macrocall $name="wikitext-example-without-html" src="""<$list filter="[get[fa]sum[]]"> Sume of fa: ''<$text text=<<currentTiddler>>/>'' </$list> """/> ;Remarks * The `get[fa]` operator retrieves a list of all values from all tiddlers that have a non empty field `fa`. * Then, the `sum[]` operator adds up all the retrieved values. <<alert info "The [[Shiraz plugin|https://kookma.github.io/TW-Shiraz]] has great feature in its dynamic table for creating numerical summaries.">>
The below instruction shows how to use css effectively for styling embeded svg tiddlers as buttons.
!! Change the fill color of svg buttons
; The image-buttons (svg) on the top right of TW5 have a hover effect, having your custom svg button how it is possible to have the same behavior?
: The CSS selectors that control these buttons look like this (with different colour definitions)
: <div><pre>
.tc-page-controls button.tc-selected svg {
fill: rgb(99, 99, 99);
}
.tc-page-controls svg {
fill: rgb(150, 150, 150);
}
.tc-page-controls button:hover svg,
.tc-page-controls a:hover svg {
fill: rgb(99, 99, 99);
}
</pre>
So make sure you use svg images and that you can control their fill colour via CSS (no fill colors inside the graphics).
</div>
!! The content type of svg tiddlers
;Why the svg tiddlers having the content type (`image/svg+xml`) does not take affect from css selectors?
: The reason is explained in [[Tiddlywiki.com|https://tiddlywiki.com/#Using%20SVG]]. Tiddlers with the type `image/svg+xml` are interpreted as SVG images, and displayed and transcluded as self-contained `<img>` elements with the SVG embedded as a data `URI` in the src attribute.
!! Example
See [[SVG Example 2]] for further details. Also [[SVG Example 3]] for applying css classes to svg transcluded as inline image (button).
!! References
# [[Using svg|https://tiddlywiki.com/#Using%20SVG]] explains what happens, if the content type of an svg tiddler is set.
# [[Vanilla theme|https://tiddlywiki.com/#%24%3A%2Fthemes%2Ftiddlywiki%2Fvanilla%2Fbase]] explains, the class `tc-image-button` to be used only for sizes, not for fill-definitions.
There is some documentation about the difference between SVG images and tiddlers containing SVG elements here: https://tiddlywiki.com/#Using%20SVG The advantage of using //raw// SVG elements is that they can be styled via ''CSS'', unlike SVG images within an img element.
;The switch-case or select-case is a programming construct allows a variable to be tested for equality against a list of values. How this construct can be implemented using TW scripts?
: There are several solution, here `list` widget is used to implement switch case construct.
!! Switch case construct
In programming languages like C the switch case construct is as below. The expression is compared against different case values and if matched, the code block of that case-value will be executed. The default case will be executed if expression result does not match any any case-values.
```
switch( expression )
{
case value-1:
Block-1;
Break;
case value-2:
Block-2;
Break;
case value-n:
Block-n;
Break;
default:
Block-1;
Break;
}
```
!! Simple method
The simple method only tests if an item is included in a list. Here the `switch` macro recives two parameter, `item` and `list`. If `item` found in the list it will displayed if not a message equivalent to default case will be shown.
Here the `list` is equivalent to case-values in other programming language.
```
\define switch(item, list:"a b c")
<$list filter="[enlist<__list__>search<__item__>]" emptyMessage="""No $item$ in: $list$""">
You passed <<currentTiddler>>
</$list>
\end
<<switch a>>
<<switch b>>
```
!! Advanced method
This method uses actions macros to perform operation on any matched cases. For simplicity here, the macro names are equal to items in the `list`, but it possible to use other names for actions macros.
If `item` matches any value in the `list` the suitable action macro called, if not the `default` macro will by run. Actions macro can perform any complex operation.
```
\define a() This is the action for a.
\define b() This is action for b.
\define c() This is action for c.
\define default() This is default action.
\define switch(item, list:"a b c")
<$list filter="[enlist<__list__>search<__item__>]" emptyMessage=<<default>> variable="actMacro">
<$macrocall $name=<<actMacro>> />
</$list>
\end
<<switch a>>
<<switch b>>
<<switch d>>
```
!! Demo
[[Example 68: Switch Case Construct]] demonstrates how above codes work.
; How to switch a field value among predefined values and keep the old one for further processing?
: Use `set` and `select` widgets with together and store the old value in a variable using the set widget
As described by [[Jeremy|https://groups.google.com/d/msg/tiddlywiki/AoL8zjxKH5U/qZvQNZDdCwAJ]] when select widget is used, any variables setup outside of the action string will not be updated to reflect the new value of the target tiddler.
!! Example
Assume a tiddler like [[exmp067/data]] has a field `fa`, its value is set among predefined items provided by a `select` widget. The code has to let to change the value of `fa` and keep its previous value for further processing. In breif the code shall do the below operations
* Temp = fa
* fa = new value
This is a demo is given in [[exmp067/data]]
<<<
* Field fa: <mark style="background:cyan;">{{exmp067/data!!fa}}</mark>
* Field fb: <mark>{{exmp067/data!!fb}}</mark>
{{exmp067/data}}
<<<
!! Code
The code is given in [[exmp067/data]] has tow parts as below
* action macro
* set/select widget
<pre><$view tiddler="exmp067/data"/></pre>
!! Remarks
* The outer `set` widget first stores the value of field `fa` from tiddler [[exmp067/data]] into a variable, `Temp`
* The `select` widget lets user choose a new value from a list of predefined values
* The `select` widget then calls the action macro `switch` to perform the below operation
** set the value of `fa` field by what is selected within `select` widget
** set the previous value of `fa` into `fb` field (this is only for demo purpose, any other operation can be done on the previous value)
A short script here is developed to switch tags (add new tag and remove old one) without change in the tiddler ''timestamp''.
To do so, the content of `$:/config/TimestampDisable` is read and then it is set to `yes`. The tags are switched and the content of `$:/config/TimestampDisable` of restored to its initial value.
```
\define BtnTagListops(btntext,add-remove,tooltip)
<$button tooltip="""$tooltip$""">
<$wikify name="timestampState" text="{{$:/config/TimestampDisable}}">
<$action-setfield $tiddler="$:/config/TimestampDisable" $value="yes"/>
<$action-listops $tags="$add-remove$" />
$btntext$
<$action-setfield $tiddler="$:/config/TimestampDisable" $value=<<timestampState>>/>
</$wikify>
</$button>
\end
```
* The `BtnTagListops` has three parameters
*# `btntext` the text or caption of button
*# `add-remove` the tag to be added or removed (with `-` sign)
*# `tooltip` a tooltip text for button to be displayed on mouse hover
This does change tags //WITHOUT// updating ''timestamps'' (it stores and restores the previous setting for updating timestamps).
The `BtnTagListops` can be called from other macro. For example the `todoBtnDoNow` macro below adds the tag `ToDoNow` and removes the tag with the minus (-) `ToDo`. //You could add and remove as many tags as you like//.
```
\define todoBtnDoNow()
<$wikify name="tt" text="switch tags">
<$macrocall $name="BtnTagListops" btntext="Do this now" add-remove="ToDoNow -ToDo" tooltip=<<tt>>/>
</$wikify>
\end
```
See [[Example 25|demo/exmp025:add-remove-tags-using-listops]]
\define switch()
<$action-setfield $tiddler="exmp066/temp" $value={{exmp066/data!!fa}} />
<$action-setfield $tiddler="exmp066/data" $field="fa" $value={{exmp066/data!!fb}} />
<$action-setfield $tiddler="exmp066/data" $field="fb" $value={{exmp066/temp}} />
\end
; How to exchange the values of two fields?
: Use the `set` widget plug and action widget like `button` and perform it as below
* temp = fa
* fa = fb
* fb = temp
!! Example
Assume a tiddler has two fields `fa`, and `fb`, the below code perform the job
```
\define switch()
<$action-setfield $tiddler="exmp066/temp" $value={{exmp066/data!!fa}} />
<$action-setfield $tiddler="exmp066/data" $field="fa" $value={{exmp066/data!!fb}} />
<$action-setfield $tiddler="exmp066/data" $field="fb" $value={{exmp066/temp}} />
\end
<$button actions=<<switch>> >Exchange fields value
</$button>
```
<$button actions=<<switch>> >Exchange fields value
</$button>
* Field fa in [[exmp066/data]]: <mark>{{exmp066/data!!fa}}</mark>
* Field fb in [[exmp066/data]]: <mark style="background:cyan;">{{exmp066/data!!fb}}</mark>
!! Remarks
* The button lets do the actions, other action widgets also can be used
* The switch macro implements the operation as below
** first the value of field `fa` is stored in temporary tiddler `exmp066/temp`
** second, the value of field `fa` is set by the value of field `fb`
** third the value of field `fb` is set the stored value of `fa` in temp tiddler
* the [[exmp066/data]] is the tiddler used fro demonstration and holds the two fields
The thing to remember is that the brackets go with the TYPE of operand....
* use square brackets for literal values: `tag[foo]`
* use curly brackets for tiddler field references: `tag{foo}`
* use angle brackets for variable references: `tag<foo>`
The thing to remember is that the brackets go with the TYPE of operand....
* `[foo]` is a literal value
* `<foo>` is a variable reference
* `{!!foo}` is a reference to field "foo" in the current tiddler
* `{SomeTiddler}` is a reference to the text field contents of a tiddler named "~SomeTiddler"
* `{SomeTiddler!!foo}` is a reference to the value of the "foo" field in tiddler "~SomeTiddler"
<<docit>>
\define mytable()
<table class="$(myclasses)$">
<caption>This is the table caption</caption>
<thead><tr><td>Header-L</td><td>Header-R</td></tr></thead>
<tbody>
<tr><td>Cell 1</td><td>Cell 2</td></tr>
<tr><td>Cell 3</td><td>Cell 4</td></tr>
<tr><td>Cell 5</td><td>Cell 6</td></tr>
<tr><td>Cell 7</td><td>Cell 8</td></tr>
</tbody>
<tfoot><tr><td>Footer-L</td><td>Footer-R</td></tr></tfoot>
\end
; How set the table class by variable?
It is possible to set the table class by variable. To do this define the whole table inside a macro.
!! Example
The below example sets two different classes to a table defined inside a macro. This example contains three parts
# A macro defines a table
# A set of css to define the table classes
# A small script to set the variable class and call the macro
!!! The table macro
`mytable` simply defines a table containing four rows, two columns, with table header, footer and caption. The table class is set by `<table class="$(myclasses)$">`.
```
\define mytable()
<table class="$(myclasses)$">
<caption>This is the table caption</caption>
<thead><tr><td>Header-L</td><td>Header-R</td></tr></thead>
<tbody>
<tr><td>Cell 1</td><td>Cell 2</td></tr>
<tr><td>Cell 3</td><td>Cell 4</td></tr>
<tr><td>Cell 5</td><td>Cell 6</td></tr>
<tr><td>Cell 7</td><td>Cell 8</td></tr>
</tbody>
<tfoot><tr><td>Footer-L</td><td>Footer-R</td></tr></tfoot>
\end
```
!!! Table classes
For the sake of simplicity two classes `myclass` and `anotherClass` are defined an inline tiddler as below.
Then the `vars` widget is used to define the variable classes and inside the `vars` widget the `mytable` macro is called.
<$macrocall $name="wikitext-example-without-html"
src="""<style>
.myclass td {
border: 1px solid black;
border-collapse: collapse;
}
.anotherClass tr:nth-child(even)
{background-color: #f5f5dc;}
</style>
<$vars myclasses="myclass anotherClass">
<<mytable>>
</$vars>
"""/>
<<alert info "To have more complex table, use the html5 tags inside macro.">>
TableTool helps to create a table based on a collection of JSON tiddlers (the row tiddlers), where each tiddler represents a row and the values of the columns are stored as json keys. Wiki page: https://mauloop.github.io/tw5-table-tool/
~TiddlyWiki provides several macros for generating a tree of tiddler links by analysing [[tags|Tagging]]: ;<<.var toc>> : A simple tree ;<<.var toc-expandable>> : A tree in which all the branches can be expanded and collapsed ;<<.var toc-selective-expandable>> : A tree in which the non-empty branches can be expanded and collapsed ;<<.var toc-tabbed-internal-nav>> and <<.var toc-tabbed-external-nav>> : A two-panel browser: :* on the left, a selectively expandable tree that behaves like a set of vertical tabs :* on the right, the content of whichever tiddler the user selects in the tree The difference between the last two has to do with what happens when the user clicks a link in the right-hand panel: ;<<.var toc-tabbed-internal-nav>> : The target tiddler appears in the right-hand panel, replacing the tiddler that contained the link ;<<.var toc-tabbed-external-nav>> : The target tiddler appears in the normal way (which depends on the user's configured storyview) !! Structure The top level of the tree consists of the tiddlers that carry a particular tag, known as the <<.def "root tag">>. Tiddlers tagged with any of those make up the next level down, and so on. At each level, the tiddlers can be [[ordered|Order of Tagged Tiddlers]] by means of the <<.field list>> field of the parent tag tiddler. They can also be ordered by the macro's <<.param sort>> parameter. The tree displays the <<.field caption>> field of a tiddler if it has one, or the tiddler's title otherwise. Each tiddler in the tree is normally displayed as a link. To suppress this, give the tiddler a <<.field toc-link>> field with the the value <<.value no>>. In the [[examples|Table-of-Contents Macros (Examples)]], the SecondThree tiddler is set up like this. Clicking such a tiddler in the tree causes its branch to expand or collapse. <<.from-version "5.1.23">> By default, the links open the tiddlers making up the table of contents. Alternatively, if the tiddler contains a <<.field target>> field then its contents will be used as the target of the link. The table of contents is generated as an HTML ordered list. The `<ol>` elements always have the class `tc-toc`. Expandable trees have the additional class `tc-toc-expandable`. Selectively expandable trees (including those in the two-panel browser) have `tc-toc-selective-expandable`. To make a table of contents appear in the sidebar, see [[How to add a new tab to the sidebar]]. !! Parameters ;tag : The root tag that identifies the top level of the tree ;sort : An optional extra [[filter step|Filter Step]], e.g. `sort[title]` These two parameters are combined into a single [[filter expression|Filter Expression]] like this: > `[tag[$tag$]$sort$]` <<.var toc-tabbed-internal-nav>> and <<.var toc-tabbed-external-nav>> take additional parameters: ;selectedTiddler : The title of the [[state tiddler|StateMechanism]] for noting the currently selected tiddler, defaulting to `$:/temp/toc/selectedTiddler`. It is recommended that this be a [[system tiddler|SystemTiddlers]] ;unselectedText : The text to display when no tiddler is selected in the tree ;missingText : The text to display if the selected tiddler doesn't exist ;template : Optionally, the title of a tiddler to use as a [[template|TemplateTiddlers]] for transcluding the selected tiddler into the right-hand panel [[Examples|Table-of-Contents Macros (Examples)]]
! Basics TiddlyWiki5 formats tables using vertical bar characters like so: ``` |!Cell1 |!Cell2 | |Cell3 |Cell3 | ``` Exclamation marks are used to indicate header cells. The example renders as: |!Cell1 |!Cell2 | |Cell3 |Cell3 | ! Cell Alignment Table cell alignment is controlled by inserting space characters before and/or after the cell content. For example: ``` |Left aligned content | | Right aligned content| | Centred content | |+++ a very wide column so we can see the alignment +++| ``` The example renders as: |Left aligned content | | Right aligned content| | Centred content | |+++ a very wide column so we can see the alignment +++| ! Cell vertical Alignment Vertical alignment of cells is done by inserting either a `^` for top alignment or a `,` for bottom alignment as the first character of a cell. The normal horizontal alignment is still possible. For example: ``` |^top left |^ top center |^ top right| |middle left | middle center | middle right| |,bottom left |, bottom center |, bottom right| ``` The example renders as: | :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: | | ::<br>:: |^top left |^ top center |^ top right| ::<br>:: | | ::<br>:: |middle left | middle center | middle right| ::<br>:: | | ::<br>:: |,bottom left |, bottom center |, bottom right| ::<br>:: | | :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: | If you need to have a `^`or a `,` as the first character of a left aligned cell, you can use HTML escaping: | `^` | &#94; | | `,` | &#44; | ! Cell Merging To merge a table cell with the one above, use the special cell text `~`. To merge a cell with the one to its left use the text `<`. To merge one to its right use `>`. For example: ``` |Cell1 |Cell2 |Cell3 |Cell4 | |Cell5 |Cell6 |Cell7 |<| |Cell5 |~|Cell7 |Cell8 | |>|Cell9 |Cell10 |Cell11 | ``` Renders as: |Cell1 |Cell2 |Cell3 |Cell4 | |Cell5 |Cell6 |Cell7 |<| |Cell5 |~|Cell7 |Cell8 | |>|Cell9 |Cell10 |Cell11 | ! Table Classes, Captions, Headers and Footers Table CSS classes, captions, headers and footers can be specified as special pseudo-rows. The following example: * assigns the CSS classes "myclass" and "anotherClass" to the table * gives the table the caption "This is a caption" * adds a header row of cells with the text "Header" * adds a footer row of cells with the text "Footer" ``` |myclass anotherClass|k |This is a caption |c |Cell1 |Cell2 | |Cell3 |Cell3 | |Header|Header|h |Footer|Footer|f ``` Renders as: |myclass anotherClass|k |This is a caption |c |Cell1 |Cell2 | |Cell3 |Cell3 | |Header|Header|h |Footer|Footer|f
!! Problem with displaying tiddlers in tabs when they contains transcluded fileds
I have a tiddler that transclude its caption filed using `{{!!caption}}` in the text (body). It correctly pulls the caption field value and everything works as it should. However, when I call the tabs macro in a new tiddler and have it display the original tiddler as a tab, the `{{!!caption}}` reference breaks and appears to reference the tiddler calling the tabs macro.
* Solution
As described in [[https://tiddlywiki.com/#tabs%20Macro]] when tiddlers are used in ''tabs'' macro, if they contains transclusion of fields or reference to `currentTiddler` variable, these refences wil not work anymore. The solution is to use a template in tabs macro as below
```
<$tiddler tiddler=<<currentTab>>>
<$transclude mode="block" />
</$tiddler>
```
So the tabs macro should be used like the below
```
<<tabs "[tag[exmp060]]" template="template/exmp060">>
```
!! Example
The tiddler [[Example 60|Example 60: Demo of Tabs Macro with Template]] shows how ''tabs'' macro work with //template// tiddler to correctly displayed the //fields// and `currentTiddler` value.
;How to add a button to every tab created by tabs macro, on click open the tiddler for edit? :Use a suitable `buttonTemplate` with tabs macro !! Solution The `tabs` macro accepts a parameter called `buttonTemplate`, it is, the title of a tiddler to use as a template for transcluding the content of the button for the selected tab. For more information see [[tabs macro|https://tiddlywiki.com/#tabs%20Macro]]. The below template addes a button to tabs ><<code-link "exmp115/template">> * the template uses $view widget to show the caption, id not present the title of current tab * the $button widget uses tm-edit-tiddler to open the current tab in edit mode !! Example <$macrocall $name="wikitext-example-without-html" src="""<<tabs tabsList:"[prefix[exmp115/data/]]" buttonTemplate:"exmp115/template" defualt:"exmp115/data/tid01">>"""/> ;Remarks : a small butoon with caption E is appeared on every tab : on click the tiddler corresponding to selected tab is opened in edit mode
;How to generate a list of tags with the number of tiddlers tag them in increasing order?
: This is used for creating tag cloud (tag crowd)
!! Solution
# Using the new filter operator `count` in TW 5.1.20, one can count the number of tiddlers tagged with specific tag (the `tagcount` macro)
# The result can be stored in a variable using the `$wikify` widget (the `counts` variable)
# The first `$list` widget sort the counts (numbers of tiddlers for each tag)
# The second `$list` widget sort the list of tags
# The third `$list` widget searchs in number of tiddlers in each tag and if it finds this number equal to the one from first list, then it will display `<<counts2>> -- <<tag>>`
!! Code
{{exmp083\macro||template/code}}
!! Example
<$macrocall $name="wikitext-example-without-html"
src="""><<listTags "solution field conditional learning">>
"""/>
; How display the tag tree for three levels of tag hierachy?
: The below code uses three nested `list` widget to show the tag tree up to level 3. This procedure can be used to create table of contents. A customized numbered list is used (ref: [[Tobias Beer|https://tobibeer.github.io/tb5/#Advanced%20Numbered%20Lists]])
<$macrocall $name="wikitext-example-without-html"
src="""<ol class="ol">
<$list filter="[tag[$:/.mr/toc]]" variable="maintag">
<li>
<$link to=<<maintag>> ><$text text=<<maintag>>/></$link>
<ol>
<$list filter="[tag<maintag>]" variable="level1">
<li>
<$link to=<<level1>> ><$text text=<<level1>>/></$link>
<ol>
<$list filter="[tag<level1>]" variable="level2">
<li>
<$link to=<<level2>> ><$text text=<<level2>>/></$link>
</li>
</$list>
</ol>
</li>
</$list>
</ol>
</li>
</$list>
</ol>
"""/>
{{{ [tag[markdown]] }}}
* TiddlyWiki transclusion show using double curly brace 。
{{ImportImage}}
Tagging is a way of organising tiddlers into categories. For example, if you had tiddlers representing various individuals, you could tag them as ''friend'', ''family'', ''colleague'' etc to indicate these people's relationships to you. A tag is in fact just a tiddler (or a potential tiddler), and it can have tags of its own. You can add any number of tags to the same tiddler. See [[Creating and editing tiddlers]] for instructions on how to tag. By tagging your tiddlers, you can view, navigate and organise your information in numerous additional ways: * The coloured tag pills on a tiddler give you quick access to all the other tiddlers with the same tag, as well as to the tiddler that represents the tag itself. * If a tiddler is serving as a tag, then the ''Tagging'' tab in its InfoPanel will show you which tiddlers are currently tagged with it. * The ''More'' tab of the sidebar has a ''Tags'' tab that presents an overview of all your tags and lets you access all your tagged tiddlers. * You can use [[filters|Filters]] to create lists of tiddlers based on their tags. You can then display any combination of the [[fields|TiddlerFields]] of those tiddlers. For example, you could build a glossary by listing the title and text of all tiddlers tagged ''Glossary''. Such lists can be formatted in any way you wish: e.g. bulleted, numbered or comma-separated. * There are a number of special ''system tags'' that control the layout of tiddlers and the entire ~TiddlyWiki page. See [[Page and tiddler layout customisation]] for instructions. There are two more things you can do with tags: ! Set a tag's colour and icon You can use the <<.icon $:/core/images/tag-button>> [[tag manager|$:/TagManager]], found on the ''Tags'' tab under ''More'' in the sidebar, to change the colour of a tag's pill or add an icon to the pill. * To change the colour, click the button in the ''Colour'' column to select from a colour picker. Alternatively, click the icon in the ''Info'' column, then type a [[CSS]] colour value in the ''Colour'' field * To change the icon, click the <<.icon $:/core/images/down-arrow>> button in the ''Icon'' column and choose from the list of available icons ! Change the order in which tags are listed By default, tagged tiddlers are listed in alphabetical order. If you want any other order, add a <<.flink ListField>> field to the tag tiddler, and set its value to be a [[list of the tiddlers|Title List]] in that order. The ''list'' field doesn't have to mention all of the tiddlers. See the [[precise rules|Order of Tagged Tiddlers]] ~TiddlyWiki uses to order tagged tiddlers.
This is a good example shows several features
# Using `$tiddler` widget
# Using addprefix and addsufix to produce some conetnt for a newly created tiddler
# Using template tiddler in `set` widget
```
<$tiddler tiddler="$:/state/NewTiddlerForm">
!Title
<$edit-text class='tc-edit-texteditor' field='name_temp' placeholder='Life the Universe and Everything' /><br>
!!Value of Constant
<$edit-text class='tc-edit-texteditor' field='value'/>
<$button>
Create Tiddler
<$set name="valuetext" value={{{ [{!!value}addprefix[<$latex text="""]addsuffix["""></$latex>]] }}}>
<$action-setfield $tiddler={{!!name_temp}} text=<<valuetext>> value={{!!value}}/>
</$set>
<$action-navigate $to={{!!name_temp}}/>
</$button>
</$tiddler>
```
* If you are referring to the same tiddler many times, it is often helpful to use the `<$tiddler>` widget to set the `currentTiddler`, and then be able to take advantage of defaults and omit the tiddler title from widgets like the edit widget
* We use a filtered transclusion with the set widget to create the text value for the new tiddler by taking the value entered by the user and adding a prefix and suffix
<<docit>>
To show a list of all tiddlers tagged say with `Content` as footer in all those tiddlers, use a template as below
;Template tiddler
: title: list-tagged-tiddlers
: tag: `$:/tags/ViewTemplate`
: text:
```
<$list filter="[all[current]tag[Content]]">
| <$list filter="[tag[Content]!has[draft.of]]"><$link to={{!!title}}><$view field="caption"><$view field="title"></$view></$view></$link> | </$list>
</$list>
```
Now every tiddler has been tagged with `Content` will show in its footer a nice list of all tiddlers, they have `Conetnt` tag.
If tiddlers have caption, their caption will show instead of title.
<<alert info """This code uses conditional output for displaying among caption/title. See: [[Conditional Output]]""">>
!! More
See the [[viewtemplate/tagging]] in this wiki how displays all tiddlers tagged with the parent.
\define set-advanced-search-filter()
<$action-setfield $tiddler="$:/temp/advancedsearch" $value={{$(currentTiddler)$!!filter}}/>
\end
\define test-filter()
<$button to="$:/core/ui/AdvancedSearch/Filter" actions=<<set-advanced-search-filter>> class="tc-btn-invisible" tooltip="Test the filter">
{{$:/core/images/advanced-search-button}}
</$button>
\end
;How to display all advanced search filter in a table and a test button to open the advanced search tiddler?
: The advanced search filters are stored in tiddlers tagged with `$:/tags/Filter`. Use a $list widget to create a table and test button.
!! Solution
<<<
The below `$list` creates rows of table with three columns from all tiddlers tagged with `$:/tags/Filter`. These tiddlers have two fields
* `description`: short description of filter
* `filter`: the filter expression
A local macro (`test-filter`)is used to create a button set the value of advanced search filter and navigate to [[$:/core/ui/AdvancedSearch/Filter]].
<<<
!! Macro
<<<
<<show-macro>>
<<<
!! Table
<<<
<$macrocall $name="wikitext-example-without-html"
src="""<table>
<th>Description</th><th>Filter</th><th>Test</th>
<$list filter="[all[shadows]tag[$:/tags/Filter]]">
<tr>
<td>{{!!description}}</td>
<td><code style="color:maroon;"><$view field=filter/></code></td>
<td><<test-filter>></td>
</tr>
</$list>
</table>
"""/>
<<<
\define say-hi-using-variables()
"""
''{{$(name)$##Salutation}} {{$(name)$##HerFirstName}} {{$(name)$##HerLastName}}''
{{$(name)$##PostAddress1}}
{{Suburb##Cast}}
Dear ''{{$(name)$##HerFirstName}}'',
"""
! //INCOME TAX ASSESSMENT 2018//
<br>
"""
We attach your income tax assessment for the {{CYR}}, which has been checked and agreed with your return as lodged.
The tax office shows a refund of ${{$(name)$##HerTax17}} for you which should have been forwarded to your nominated bank account.
Please contact us if you have any queries.
{{YoursFaithfullySteveHarding}}
"""
\end
<$set name="name" value="SimaParsi">
<<say-hi-using-variables>>
</$set>
---
Other tiddlers in exmp017
<<list-links "[tag[exmp07]]">>
;What is the default input of a filter run? What will return the below script? : create a new tiddler in tiddlywiki.com : enter the `<$list filter="[add[0]]"/>` into the body and save * What is happening is that, by default, a filter starts with an implied `all[tiddlers]`. * Non-numeric list items (such as tiddler titles) have a value of 0. * At tiddlyWiki.com, there are 1304 non-shadow tiddlers. Thus, each of the above filters is producing 1304 numeric results. ;Remarks : all filters starts with implied `all[tiddlers]` : the first step to limit the size of the set of titles to be used by the filter is using `all[current]`, `!is[system]`, etc...
; What are the differences between these two filters: # `[has[fieldname]]` and # `[has:field[fieldname]]` Assume you have used above filters inside a `$list` widget as below: ``` Case I: <$list filter="[has[fieldname]]" variable="v"> <<v>> </$list> ``` and ``` Case I: <$list filter="[has:field[fieldname]]" variable="v"> <<v>> </$list> ``` The differences are as below: <<< * Both cases returns nothing (empty `v`) if the field does not exist. * Both cases return the same result is the field exist and is //NOT EMPTY//. * Case I returns nothing (empty `v`) if the field //EXIST// but is //EMPTY//. * Case II returns the tiddler title if the field //EXIST// but is //EMPTY//. <<< [[TonyM|https://groups.google.com/d/msg/tiddlywiki/MpWL2zebuo0/xCSWw6e6CAAJ]] !! Remark In [[has operator|https://groups.google.com/d/msg/tiddlywiki/PiUwdVpdyzQ/OwsKmr6TEgAJ]] on Tiddlywiki, it has been explained that: * `has` operator can be used with a suffix * the `value` suffix is equivalent to no suffix ** `[has[myfield]]` or `[has:value[myfield]` are the same ** result is: those input tiddlers in which field has a //non-empty value// * the `field` suffix ** result: those input tiddlers in which //field exists//
<<docit>> <<code-link "exmp119/data/tid01">> <$list filter="[[exmp119/data/tid01]getindex[xx]is[blank]]" emptyMessage="the index is NOT blank"> The index is BLANK </$list> Mark isblank operates on the output of the new split operator, which might be "mytitle" "" "someothertitle" "" etc. So there has to be a "" to determine if it is blank. Most filter operators do not produce "". If something is "", it puts out NO output -- not even "" The operator getindex[xx] produces NO output, and so there is nothing to evaluate. You get the same result whether you don't use is[blank] . So the upshot is, that is[blank] is mostly useful in the context of the split and splitreg operators. Jeremy I assumed the below dataTiddler returns zero length string, but now I understood it idoes not! The value of xx is missing! Indeed, the getindex operator and the get operator both work that way, the great thing is that it lets you use the else[] operator to provide a fallback value: [getindex[xx]else[defaultvalue]match[targetvalue]]
!! Tiddler list field The `list` field has special handling that allows for automatic substitution when a title is changed. This is possible because the `list` field is always treated as a //space-separated list of tiddler titles//. Thus, it can be parsed for individual title matches to recognize when a title has been changed and replace only that title text within the field value. The problem with doing this for other fields is that they can contain spaces that are just //normal text// not intended to be treated as separators between titles. Consider two fields where > list = "foo bar baz" (a list of three tiddler titles) and > otherfield = "this ice cream bar is tasty" (some normal text) If you change the title of the tiddler named "bar" to "mumble", then the value of `list` is updated to "foo mumble baz" However, the value of "otherfield" should remain unchanged even though it contains "bar", because that is just normal text. Currently, ALL field content except for the `list` field are treated as normal text (see note below). ''Note'': Standard tiddler date fields (`created` and `modified`) are //stored// as normal text using format `YYYY0MM0DD0hh0mm0ss0XXX` (e.g. "20150117190213631" for January 17, 2015 at 19:02:13.631). These fields can be formatted for date/time //display// using the `<$view ... format="date"...>` widget.
<div class="ml-list"> The logic used by the `$set` widget to determine the result assigned to the variable is as follows: # If the "tiddler" attribute is present and not blank, then: ## If the "subtiddler" attribute is also present and not blank, then get the subtiddler from the specified tiddler, otherwise just get the tiddler itself ## If the "field" attribute is present then return return the value of that field, or the value of the "emptyValue" attribute if the field is blank or missing ## Otherwise, if the "index" attribute is present, return the value of the specified index, or the value of the "emptyValue" attribute if the index is blank or missing ## Otherwise, return the text field of the tiddler, or the value of the "emptyValue" attribute if the text field is blank or missing # If the "filter" attribute is present and not blank, then evaluate the results of the filter, and: ## If the "value" attribute is present and the filter results are not empty, return the value of the "value" attribute (even if the "value" attribute is blank) ## If the "value" attribute is present and the filter results are empty, return the value of the "emptyValue" attribute, if present, otherwise return a blank result ## If the "value" attribute is not present, then if the "select" attribute is a valid number it is used to retrieve a specified result from the filter ## If the "value" attribute is not present, and the "select" attribute is not a valid number, and the filter results are not empty, then the entire filter results are returned (using double square brackets quoting around any results that include spaces) ## If the "value" attribute is not present, the "select" attribute is not a valid number, and the filter results are empty, then the value of the "emptyValue" attribute is returned (or blank if it is not present) # If neither the "tiddler" or "filter" attributes are provided, return the value of the "value" attribute, or the value of the "emptyValue" attribute if the "value" attribute is blank or missing </div> See [[Example 58: Logic of Set Widget]] for deyails and demos.
;Why Tiddlywiki on Node.js uses higher RAM? TiddlyWiki under Node.js loads the entire wiki into RAM. It does so in order to support server-side processing (such as serverside page rendering). But, of course, it is relatively resource intensive, and unnecessary if all the server is doing is acting as a front end to a database of tiddlers, and the browser is doing all the rendering. Arlen Beiler recently did some exploration along these lines recently. See [[Forum|https://groups.google.com/d/msgid/tiddlywiki/CAJ1vdSSe4-y4wR%3D6o_ihBmYe8E_bUqAgqT0tpb7LwaSpv7K9Uw%40mail.gmail.com]]
<div class="tc-table-of-contents"> <<toc-selective-expandable 'Thinker'>> </div>
Interactivity in TiddlyWiki is based on a couple of priniciples: * The entire state of the user interface is modelled as the values of tiddlers in the store * User interface events such as button clicks make changes to the tiddler store which then trigger a refresh of the display to match the new state of the store You can explore this happening by opening up the advanced search tiddler, switching to the "Filter" tab, and then selecting "Recently modified tiddlers, including system tiddlers" from the dropdown. Keep an eye on the results as you switch between sidebar tabs and you'll see that the tiddler `$:/state/tab/sidebar--595412856` contains the title of the currently selected tab. It's a two way binding: if you manually edit that tiddler then you'll see the current tab change in reaction. All UI in TW is constructed in this same way. For example, dropdowns are modelled as a state tiddler that keeps track of whether the dropdown is open or not. The reveal widget is used with the state tiddler to show or hide the dropdown as required. A critical challenge when designing UIs in TiddlyWiki is choosing between the options for titling these state tiddlers. Most of the core uses a scheme we call "qualified titles" to generate a title that depends upon the position in the render tree.
``` <$wikify name="count" text="<$count filter='[tag[Contents]]'/>"> <table> <tr> <td colspan=<<count>>> <$count tiddler="Contents" filter=[tag[Contents]]/> columns </td> </tr> <tr><td> 1 </td><td> 1 </td><td> 1 </td><td> 1 </td></tr> </table> </$wikify> ```
How the size and other properties of tiddler toolbar icons can be changed?
Use css as below to style them! These css hsall be put inside a tidddler tagged with `$:/tags/Stylesheet`.
```
.tc-tiddler-frame .tc-tiddler-controls {}
```
* Example
<<<
Change the size of tiddler toolbar icons to 1.75rem
```
.tc-tiddler-frame .tc-tiddler-controls { font-size: 1.75rem; }
```
<<<
;Is there any way to return the size or width of tiddler and viewport using Tiddlywiki script?
:The viewport sizes can be accessed using CSS (e.g `vh`, and `vw`) for the tiddler width it depends to the layout. See the below code
```
<$list filter="[{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}prefix[fluid-fixed]]">
calc(100vw - {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}} - 160px)
</$list>
<$list filter="[{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}prefix[fixed-fluid]]">
calc({{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}} - 110px)
</$list>
```
It is called in a stylesheet (type: tiddlywiki) like so:
```
width:<<width>>;
```
<<alert info "''Note'': The above code should be used with CSS, so It should be placed inside a tiddler tagged with `$:/tags/Stylesheet` or called as a macro from such tiddlers.">>
The magic numbers are just approximations; the river gutter and tiddler gutters all 42px but then there are 0-1-2 viewport scrollbars where it seems only one of them affects width... and I'm not sure scrollbars have a fixed width, at least no between browsers so I just made approximations that look decent. Besides, the gutters are hard coded magic numbers so what the hey. At least for my application. However one would need other numbers for small screens where the gutters are gone.
*`Title`:在TiddlyWiki唯一标识一个Tiddler,因此不能重复,如果出现重复的话会自动价格数字,也可以自行修改为其他有意义的名称。注意如果使用[[title]]的方式来链接一个Tiddler的话,`[[title]]`双方括号里面的字符是区分大小写的。输入错误的话会无法建立正确的链接,如果链接不到就会自动生成一个[[title]]对应的Tiddler。 *`Tag` :用来分类收纳一个单独的Tiddler。一个Tiddler可以任意多个Tag,一个tag目的是分类收纳,多个tag实际上主要用途是来快速检索。随便输入一个你记得起来的标签,就可以把它过滤显示出来,从理论上来说,一个Tiddler的tag越多,在后期的搜索中越容易被命中。但是tag也不能多到混乱,也就是失去了意义。 *`Text`:也就是你自己要记录的内容。前两个元素都是为这个内容服务的。 *`Type:`:也就是指定Text里显示哪种类型的文本,比如有markdown、javascript、json Data等各种类型。只是用来记录普通的笔记的话,这里不必理会。 *`Field`:如果想进一步了解TiddlyWiki的话,这里是必须要了解的数据结构。包括了很多的灵活的可以自定的字段。最常用的一个比如caption,就是这个Tiddler的标题。有点纳闷不是,前边第一个提到的Title不是这个Tiddler的标题吗?Title实际上是唯一标识这个Tidder的,不另外指定catpion这个字段的话,Title的内用就作为Catpion 。因此,你可以在指定了Title之后,在下面再添加一个caption字段,字段值就是你想要显示的标题,两种不同的话,最终保存后就显示的catption的字段值,而不是Title。
\define lingo-base() $:/language/Docs/Fields/
~TiddlerFields are name:value pairs that make up a [[tiddler|Tiddlers]]. Field names must be lowercase letters, digits or the characters `-` (dash), `_` (underscore) and `.` (period).
The standard fields are:
|!Field Name |!Description |
|`title` |<<lingo title>> |
|`text` |<<lingo text>> |
|`modified` |<<lingo modified>> |
|`modifier` |<<lingo modifier>> |
|`created` |<<lingo created>> |
|`creator` |<<lingo creator>> |
|`tags` |<<lingo tags>> |
|`type` |<<lingo type>> |
|`list` |<<lingo list>> -- see ListField |
|`caption` |<<lingo caption>> |
Other fields used by the core are:
|!Field Name |!Description |
|`class` |<<lingo class>> |
|`color` |<<lingo color>> |
|`description` |<<lingo description>> |
|`draft.of` |<<lingo draft.of>> |
|`draft.title` |<<lingo draft.title>> |
|`footer` |<<lingo footer>> |
|`hide-body`|<<lingo hide-body>>|
|`icon` |<<lingo icon>> |
|`library` |<<lingo library>> |
|`list-after` |<<lingo list-after>> |
|`list-before` |<<lingo list-before>> |
|`name` |<<lingo name>> |
|`plugin-priority` |<<lingo plugin-priority>> |
|`plugin-type` |<<lingo plugin-type>> |
|`source` |<<lingo source>> |
|`subtitle` |<<lingo subtitle>> |
|`throttle.refresh` |<<lingo throttle.refresh>> |
|`toc-link`|<<lingo toc-link>>|
|`_canonical_uri`|<<lingo _canonical_uri>>|
The TiddlyWebAdaptor uses a few more fields:
|!Field Name |!Description |
|`bag` |<<lingo bag>> |
|`revision` |<<lingo revision>> |
|`_is_skinny` |<<lingo _is_skinny>> |
Details of the fields used in this ~TiddlyWiki are shown in the [[control panel|$:/ControlPanel]] {{$:/core/ui/Buttons/control-panel}} under the <<.controlpanel-tab Info>> tab >> <<.info-tab Advanced>> sub-tab >> Tiddler Fields
Tiddlers are the fundamental units of information in TiddlyWiki. Tiddlers work best when they are as small as possible so that they can be reused by weaving them together in different ways. Other systems have analogous concepts with generic names like "items", "entries", "entities", "nodes" or "records". Internally, tiddlers are a list of uniquely named values called fields. The only field that is required is the `title` field, but useful tiddlers also have a `text` field, and some or all of the standard fields listed in TiddlerFields. Tiddlers are ubiquitous in TiddlyWiki. They are used to store everything from JavaScript code modules to the settings and state associated with the user interface.
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JyGc9M9ihEA3/Y/wCmUEOAHgXjAbeJAXVVbztP8/P/Z/HH8c+wcR5PgjCmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0FzY2VudCA5MjggL0NhcEhlaWdodCA3MzYgL0Rlc2NlbnQgLTIzNiAvRmxhZ3MgMzMgL0ZvbnRCQm94IFsgLTUgLTIzNiA2MDYgOTI5IF0gL0ZvbnROYW1lIC9EQUFBQUErQml0c3RyZWFtVmVyYVNhbnNNb25vLVJvbWFuIC9JdGFsaWNBbmdsZSAwIC9TdGVtViAwIC9NYXhXaWR0aCA2MDIgL1hIZWlnaHQgNTU0IC9Gb250RmlsZTIgNyAwIFIgPj4KZW5kb2JqCjkgMCBvYmoKWyA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgXQplbmRvYmoKNSAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250IC9EQUFBQUErQml0c3RyZWFtVmVyYVNhbnNNb25vLVJvbWFuIC9Gb250RGVzY3JpcHRvciA2IDAgUiAvV2lkdGhzIDkgMCBSIC9GaXJzdENoYXIgNTggL0xhc3RDaGFyIDExNSAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcgPj4KZW5kb2JqCjEzIDAgb2JqCjEyNDg1CmVuZG9iagoxMiAwIG9iago8PCAvTGVuZ3RoIDEzIDAgUiAvTGVuZ3RoMSAyMDkwNCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeNrNfAl0W9d55n3vYQceloflYV+JnSBIggAobiC479olkhK1i5IsyZIsy5Zs2ZYty4tix/smO7Wzeem0rhy7tixl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ZSAtNyAvU3RlbVYgMCAvTGVhZGluZyAyMiAvTWF4V2lkdGggMTE1OCAvWEhlaWdodCA0NTcgL0ZvbnRGaWxlMiAxMiAwIFIgPj4KZW5kb2JqCjE0IDAgb2JqClsgMzg2IDQwMiAyMDAgMjAwIDIwMCAyMDAgMjk1IDI5NSAyMDAgMjAwIDIwMCAzMTMgMjAwIDQwMCA0MDIgMjAwIDQwMiAyMDAgMjAwIDIwMCAyMDAgNDAyIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDU2MCAyMDAgNDg2IDU0NiA0NjIgNDM1IDUyNCAyMDAgMjgwIDI4MiAyMDAgNDQ4IDczOCA2MDUgNTQ1IDQ3MSA1NTQgNTI2IDQzOSA1MjEgNTk5IDIwMCA3NjcgMjAwIDU1OSAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgNDUwIDQ2NyAzODggNDczIDM5MyAyNzMgNDQ1IDQ5NCAyNDYgMjQ1IDQzOSAyMzUgNzIxIDQ5NCA0MjIgNDcxIDIwMCAzNTUgMzQ3IDMwNyA0OTkgNDQ2IDYzMCA0NDAgNDUyIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgMjAwIDIwMCAyMDAgNjY0IF0KZW5kb2JqCjEwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0NBQUFBQStHZW50aXVtLUl0YWxpYyAvRm9udERlc2NyaXB0b3IgMTEgMCBSIC9XaWR0aHMgMTQgMCBSIC9GaXJzdENoYXIgMzQgL0xhc3RDaGFyIDE2OSAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcgPj4KZW5kb2JqCjE4IDAgb2JqCjE0MzQxCmVuZG9iagoxNyAwIG9iago8PCAvTGVuZ3RoIDE4IDAgUiAvTGVuZ3RoMSAyNjI2OCAvRmlsdGVyIC9G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b250RGVzY3JpcHRvciAvQXNjZW50IDg1OSAvQ2FwSGVpZ2h0IDYyMyAvRGVzY2VudCAtMjc2IC9GbGFncyAzMiAvRm9udEJCb3ggWyAtNTIwIC0yOTggMTI5OCAxMDYwIF0gL0ZvbnROYW1lIC9CQUFBQUErR2VudGl1bSAvSXRhbGljQW5nbGUgMCAvU3RlbVYgMCAvTGVhZGluZyAyMiAvTWF4V2lkdGggMTMxMCAvWEhlaWdodCA0NjIgL0ZvbnRGaWxlMiAxNyAwIFIgPj4KZW5kb2JqCjE5IDAgb2JqClsgMjcyIDIyMCA0NjkgMjIwIDIyMCAyMjAgMjUwIDMxNyAzMTcgNDQ3IDQxMCAyMjAgMzM3IDIyOSA0NjkgNDY5IDQ2OSA0NjkgNDY5IDIyMCAyMjAgMjIwIDIyMCA0NjkgMjIwIDIyOSAyMjAgNDM5IDQzOSA0MzkgMjIwIDgwNyA1OTUgNTUwIDUzNiA1OTMgNDk2IDQ3OCAyMjAgNjU0IDI5OCAzMDUgNTc4IDQ3NiA4MDYgNjQ5IDYwMCA1MjMgMjIwIDU2MSA0NzYgNTUxIDY1NCAyMjAgODUwIDIyMCA1OTQgMjIwIDMwOCAyMjAgMzA4IDQ5MiA0NjkgMjIwIDQ1OSA1MDggNDM3IDUyMCA0NjIgMzExIDQ4OCA1NTIgMjcxIDI1OSA1MDAgMjcxIDgwMyA1NTIgNTAzIDUzMCA1MTUgMzk2IDM4NiAzNDQgNTMwIDQ5MyA3MDYgNTAzIDQ5MyA0NDIgMzM2IDIyOSAzMzYgNDg4IF0KZW5kb2JqCjE1IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0JBQUFBQStHZW50aXVtIC9Gb250RGVzY3JpcHRvciAxNiAwIFIgL1dpZHRocyAxOSAwIFIgL0ZpcnN0Q2hhciAzMyAvTGFzdENoYXIgMTI2IC9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZyA+PgplbmRvYmoKMjAgMCBvYmoKPDwKL0YxLjUgMTUgMCBSCi9GMi41IDEwIDAgUgovRjMuNSA1IDAgUgo+PgplbmRvYmoKCjIxIDAgb2JqCjw8L0ZvbnQgMjAgMCBSCi9Qcm9jU2V0Wy9QREYvVGV4dF0+PgplbmRvYmoKCjEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCA0IDAgUi9SZXNvdXJjZXMgMjEgMCBSL01lZGlhQm94WzAgMCA4NDIgNTk1XS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAyIDAgUj4+CmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1BhZ2VzCi9SZXNvdXJjZXMgMjEgMCBSCi9NZWRpYUJveFsgMCAwIDU5NSA4NDIgXQovS2lkc1sgMSAwIFIgXQovQ291bnQgMT4+CmVuZG9iagoKMjIgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSCj4+CmVuZG9iagoKMjMgMCBvYmoKPDwvQXV0aG9yPEZFRkYwMDQ0MDA2RDAwNjkwMDc0MDA3MjAwNjkwMDIwMDA1MDAwNkYwMDcwMDA2RjAwNzY+Ci9DcmVhdG9yPEZFRkYwMDU3MDA3MjAwNjkwMDc0MDA2NTAwNzI+Ci9Qcm9kdWNlcjxGRUZGMDA0RTAwNjUwMDZGMDA0RjAwNjYwMDY2MDA2OTAwNjMwMDY1MDAyMDAwMzIwMDJFMDAzMT4KL0NyZWF0aW9uRGF0ZShEOjIwMDcwODI2MTMzNzA2KzAyJzAwJyk+PgplbmRvYmoKCnhyZWYKMCAyNAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMzc4MDEgMDAwMDAgbiAKMDAwMDAwMDAxOSAwMDAwMCBuIAowMDAwMDA0NjA1IDAwMDAwIG4gCjAwMDAwMzc5NDQgMDAwMDAgbiAKMDAwMDAwODY0OSAwMDAwMCBuIAowMDAwMDA4MTYwIDAwMDAwIG4gCjAwMDAwMDQ2NDYgMDAwMDAgbiAKMDAwMDAwNDYyNiAwMDAwMCBuIAowMDAwMDA4Mzk4IDAwMDAwIG4gCjAwMDAwMjIyNDYgMDAwMDAgbiAKMDAwMDAyMTQzNyAwMDAwMCBuIAowMDAwMDA4ODYxIDAwMDAwIG4gCjAwMDAwMDg4MzkgMDAwMDAgbiAKMDAwMDAyMTY4MiAwMDAwMCBuIAowMDAwMDM3NTEzIDAwMDAwIG4gCjAwMDAwMzY4ODAgMDAwMDAgbiAKMDAwMDAyMjQ0OCAwMDAwMCBuIAowMDAwMDIyNDI2IDAwMDAwIG4gCjAwMDAwMzcxMTcgMDAwMDAgbiAKMDAwMDAzNzY4NiAwMDAwMCBuIAowMDAwMDM3NzQ3IDAwMDAwIG4gCjAwMDAwMzgwNDMgMDAwMDAgbiAKMDAwMDAzODA5MSAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgMjQvUm9vdCAyMiAwIFIKL0luZm8gMjMgMCBSCi9JRCBbIDwwQjg3QzQyRkFDMTdCQTU3N0QzOEUwNTEzQTc0RTBFNz4KPDBCODdDNDJGQUMxN0JBNTc3RDM4RTA1MTNBNzRFMEU3PiBdCj4+CnN0YXJ0eHJlZgozODMyMAolJUVPRgo=
[[TiddlyWiki|https://tiddlywiki.com/]] is a rich, interactive tool for manipulating complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors. TiddlyWiki is designed to fit around your brain, helping you deal with the things that won't fit. The [[fundamental idea|Philosophy of Tiddlers]] is that information is more useful and reusable if we cut it up into the smallest semantically meaningful chunks -- [[tiddlers|Tiddlers]] -- and give them titles so that they can be [[structured|Structuring TiddlyWiki]] with [[links|TiddlerLinks]], [[tags|Tagging]], [[lists|ListField]] and [[macros|Macros]]. Tiddlers use a WikiText notation that concisely represents a wide range of text formatting and hypertext features. ~TiddlyWiki aims to provide a fluid interface for working with tiddlers, allowing them to be aggregated and composed into longer narratives. People love using ~TiddlyWiki. Because it can be used without any complicated server infrastructure, and because it is [[open source|OpenSource]], it has brought unprecedented freedom to everyone to keep their precious information under their own control. ~TiddlyWiki was originally created by JeremyRuston and is now a thriving [[open source|License]] project with a busy [[Community]] of independent developers.
About CSS prefixes: TW uses `tc-`, `tv-`, `tm-` and `th-` prefixes for different things. * tc- tw class * tv- tw variable * tm- tw message * th- tw hook
When TiddlyWiki starts up in the browser it looks for a tiddler called `$:/favicon.ico` and dynamically uses it as the favicon for the page. If you modify the image then the favicon changes instantly to reflect it. If you put an image (`png`, `jpg`, `gif`) file into a tiddler and then rename the tiddler to `$:/favicon.ico` it will work. I haven't gotten svg to work yet but I think that is a browser issue, not a tiddlywiki issue. <<alert info "TW supports most types of image format to favicon.">> See also: * https://tiddlywiki.com/#Setting%20a%20favicon * https://icons8.com/icons
''Get started and organized with TiddlyWiki'' An article by: ''Scott Nesbitt'' This is a white paper on Tiddlywiki and its application. Ref: [[opensource.com|https://opensource.com/article/19/2/tiddlywiki]]
<<docit>>
*注册一个GitHub账号 *创建一个用于在线编辑TiddlyWiki文件的仓库 *把TiddlyWiki单文件命名为index.html,打开这个关于TiddlyWki的GitHub仓库,通过uploade的方式把index.html添加到仓库中,默认保存在main branch中。Github会自动根据你的仓库名称发布一个网址,如https://YourReporzitoryName.github.io *为这个仓库生成一个toker,保存好这个toker,离开这个界面级看不到了,只能再次生成一个新的token,或者删除这个token再生成。 *祝贺您,可以在任何一个有互联网的地方来访问你自己的TiddlyWiki笔记了。在浏览器中键入https://yourRepository.github.io *在线打开TiddlywWiki笔记的`Control Panel`,选择`Save`标签,选择`GitHub Saver`,设置下面几项: ** UserName:`你的GitHub账号` ** Tokern :`在GitHub中生成的token`复制到这里即可 **Target repository:`Username/FullNameOfRepository` **Target branch for saving:`main` **Path to target file :`如果index.html放在main分支下的话,这个路径就不必设置了。如果把index.html放置再其他的自定义目录,这里需要设置`。这里不必设置 **Filename of target file :`index.html` **Server API URL:`https://api.github.com` 目前系统默认为GitHub提供的网址,不必自行设置。
!! 参考链接 来自:[[Dimpurr's Knowledge Base #1|http://note.dimpurr.com/#TiddlyWiki%20%E4%BD%BF%E7%94%A8]] * 蜜汁台版文档 http://tw5-zh.tiddlyspot.com * TiddlyWiki 使用手册 | 站长百科 http://www.zzbaike.com/wiki/TiddlyWiki * tid.li Plugins - A ~TiddlyWiki Plugin Source http://tid.li/tw5/plugins.html * Community 官方导航 http://tiddlywiki.com/#Community:Community%20Plugins * 社区插件合集 http://erwanm.github.io/tw-community-search/#CommunityPlugins !!! 相关阅读 * 应用tiddlywiki的一点经验 http://forum.ubuntu.org.cn/viewtopic.php?t=46941&highlight=wiki * TiddlyWiki 使用心得 http://blog.csdn.net/yxj911/article/details/1577778
The below instruction shows how simply use Node.js for creating new plugin. It uses Thirdflow plugin from TheODive. ! Set Up <<< # Clone or download TiddlyWikiPluginSkeleton from (https://github.com/TheDiveO/TiddlyWikiPluginSkeleton). # install the required tools #* run `npm install` to install the required TiddlyWiki5 core, as well as the `ThirdFlow plugin` from the NPM registry. #* or alternatively use the customised TiddlyWikiPluginSkeleton version by Mohammad (@kookma) #** The customized version does not need redundant installation of TW core #** The customized version has the `ThirdFlow plugin` installed <<alert info "To create a custom version, follow the standard procedure above and then delete the `.bin` and `tiddlywiki` folders from `TiddlyWikiPluginSkeleton\node_modules`. The customized version need to have a working version Tiddlywiki under node.js">> <<< !! Develop a new plugin <<< # Make a copy of `TiddlyWikiPluginSkeleton` from step 2 in your folder of choice # Open command window in `TiddlyWikiPluginSkeleton` folder # issue the `npm run develop` command # next, navigate to http://localhost:8080 in your web browser. # follow the instructions given in the "Plugin Kickstarter" to create your plugin. # work on your plugin ... you can freely mix developing things inside the web browser as well as outside the browser using a standalone editor. Don't forget to stop and then restart by `npm run develop` after you've made changes to TiddlyWiki files outside your web browser. <<< !! Release the new plugin <<< # to control which files to release, visit your TiddlyWiki's `$:/ControlPanel` and go to the ''ThirdFlow'' tab. Then click on the subtab named ''Release''. Follow the instructions given there. Please note that you can develop multiple plugins simultaneously from the same development TiddlyWiki. # when you're ready to release, simply run `npm run release` to create the release file(s) in `editions/release/output`. Rinse, then repeat as necessary. <<<
<div class="tc-table-of-contents"> <<toc-selective-expandable 'TiddlyWikiTutorial'>> </div>
Timimi is a web-extension that allows you to save standalone tiddlywikis the same way tiddlyfox did. You can open your tiddlywikis from anywhere in your home folder, make changes and save changes. It also support ''Snapshot'' plugin, a plugin to backup the wiki. Snapshot only works with Timimi or similar and needs a manual save button to be clicked! * Download: ** [[Timimi addon|https://github.com/ibnishak/Timimi]] ** [[Snapshot plogin|https://ibnishak.github.io/Tesseract/pluginsandmacros/snapshot.html]]
Different filters can be used to do simple to sophisticated search queries using the filter tab in Advances Search tiddler. The advanced search can be opened by clicking on magnifier button right to standard search in sidebar: <<advanced-search>> The below table shows sample filters to use the `search` operator for different queries. The `keyword` is the word or phrases your are looking for in the wiki file. <<property-table dataTiddler:"data/search-filter" indexTitle:"Purpose" valueTitle:"Filter" caption:"''Search Filters: Use them in Advanced Seach Textbox''" tblClass:"stripedTbl">> !! Use with other widgets All widgets accept filter can use the above filters, like `list`, `set`, ... <<alert info """''Note'': This tiddler uses the dictionary (data tiddler) [[data/search-filter]] to create the search filter table above.""">>
The `toc` macro in Tiddlywiki version greater than 5.1.17 does not accept //exclude// attribute. So, it is not possible to exclude some tiddlers say tagged with `ignored` from table of contents. <a href={{!!url}}>{{!!responder}}</a> has introduced a simple hack as below
<<< Mark S
You can use the sort argument to sneak in extra, simple requirements:
```
sort: "!tag[ignored]sort[title]"
```
<<<
!! Example 1
The below script shows a table of contents with `Contents` as the root tag and excludes all tiddlers also tag with `ignored`
```
<div class="tc-table-of-contents">
<<toc-selective-expandable "Contents" sort:"!tag[ignored]sort[title]">>
</div>
```
!! Example 2: Complex case
The below script shows a table of contents with `Contents` as the root tag and excludes all tiddlers have in their name `Test`. You can also omit `sort[title]` part.
```
<div class="tc-table-of-contents">
<<toc-selective-expandable "Contents" sort:"!search:title[Test]">>
</div>
```
<<todolist-ui>>
https://guides.github.com/introduction/git-handbook/
[[todolist-zhihuboke-github.com|https://www.zhihu.com/question/20962496]]
; How to have a toggle button to switch two different states like on and off?
: Use `$reveal` and `$button` widget and a state tiddler
!! Code
{{exmp080/macro/toggle-button||template/code}}
!! Remarks
TO BE COMPLETERD
!! Examples
<$importvariables filter="exmp080/macro/toggle-button">
; Example i
:A simple on/off button is given below the value sets in state tiddler `exmp080/data/state01` can be used for further processing
:<$macrocall $name="wikitext-example-without-html"
src="""<<toggle-button stateTiddler:"exmp080/data/state01">>
"""/>
; Example ii
: In this example the on/off labels have been sent
:<$macrocall $name="wikitext-example-without-html"
src="""<<toggle-button stateTiddler:"exmp080/data/state02" onlabel:"Edit" offlabel:"Done">>
"""/>
</$importvariables>
<<<
;How to swap (toggle) between two stylesheet? : <<docit>> <<code exmp096/macro/swapper>> !! How to use ``` <<swapper StyleSheet-Edit-Normal StyleSheet-Edit-Large>> ```
<<docit>> https://giffmex.org/experiments/expand.edittemplate.html
When TW starts a certain page layout is seen- I assume that this layout is determined by a template, with transclusions in it. Where do I start reading the code - what's the name of the top-level tiddler ie the template that (or tiddler) that determines how the first thing I see looks on screen? !! Answer ;The top level page template is $:/core/ui/PageTemplate: :https://github.com/Jermolene/TiddlyWiki5/blob/master/core/ui/PageTemplate.tid ;The top level CSS style template is $:/core/ui/PageStylesheet: :https://github.com/Jermolene/TiddlyWiki5/blob/master/core/ui/PageStylesheet.tid
If you transclude a missing text reference or missing tiddler using `{{myTid!!myField}}` and/or `{{myTid}}` nothing is shown and you cannot realize it is missing one solution is to use a macro with a template as proposed by BTS below to address the missing tiddler transclusion:
* The macro
```
Title: TranscludeMissingTiddler
Tag: $:/tags/Macro
\define trl(text)
{{$text$||transcludilinktemplate}}
\end
```
* The template
```
Title: transcludilinktemplate
<$list filter="[<currentTiddler>is[missing]]">
<$link to=<<currentTiddler>>><<currentTiddler>></$link>
</$list>
<$list filter="[<currentTiddler>!is[missing]]">
<$transclude/>
</$list>
```
<$macrocall $name="wikitext-example-without-html"
src="""<$select tiddler="$:/temp/selected/character">
<$list filter="[tag[exmp055]] -[tag[solution]]">
<option><$text text=<<currentTiddler>> /></option>
</$list>
</$select>
<br>
<style>.wideEdit { width:75%; } </style>
<$edit-text tiddler={{$:/temp/selected/character}} tag="textarea" class="wideEdit" autoHeight="no" rows="5" />
"""/>
What it does:
* The `$select` widget creates a drop-down list of all the titles matching the tag value (in this example, "exmp055")
* The current selection is stored in a temporary tiddler, "$:/temp/selected/character" (note: you can use any tiddler title you like)
* The embedded `<style>` defines a classname for setting the edit field width (you can't use a style attribute directly in the $edit-text widget)
* The name of the target tiddler title used by `$edit-text` is retrieved from the temporary tiddler
* The remaining `$edit-text` parameters control how the edit field looks/behaves
<<alert danger "''Note'': unlike the usual tiddler editor "draft mode", the `$edit-text` field used here is ''LIVE''... that is, changes to the content are applied ''immediately'' to the underlying tiddler... there is no "ok/cancel" or "undo" functionality.">>
; A list of figures and their captions are stored in separate tiddlers. How they can be show in a table using transclusion?
<$macrocall $name=wikitext-example-without-html
src="""<table><tr><th>Exercise</th><th>Picture</th><th>Description</th></tr>
<$list filter="[tag[exmp019]]"><tr>
<td><$link to={{!!title}}><$view field="title"/></$link></td>
<td style="text-align:center;"><div style="width:120px;"><$transclude/></div></td>
<$set name="desc" filter="[<currentTiddler>addsuffix[.description]]">
<td><$transclude tiddler=<<desc>>/></td></$set>
</tr></$list></table>
"""
/>
How to transclude a tiddler tagged with `$:/tags/highlight/some-language` and highlight it using the syntax highlighter in TW?
TW uses the `Highlight.js` plugin to do it. To address this case:
<<<
A macro is needed to get the tiddler containing the code and corectly tagged to transclude it as a codeblock with correct language
{{Macro in Exmp 12}}
[[Macro in Exmp 12]]
<<<
Now you can use `<<snip tiddler-title>>` to transclude the tiddler as a codeblock highlighted in correct language
<<alert primary "Any tiddler containing the code should be tagged in correct manner i.e `$:/tags/highlight/language`">>
* Exampel
The tiddler [[Sample Code in Exmp 12]] contains fortran code and is tagged with `$:/tags/highlight/fortran`. To transclude it in highlighted form inside this tiddler do as below
<$macrocall $name="wikitext-example-without-html"
src="""<<snip "Sample Code in Exmp 12">>
"""/>
Using template you can transclude different parts of tiddlers and format them. See for more information [[transclusion with template|https://tiddlywiki.com/#Transclusion%20with%20Templates]] on Tiddlywiki.com.
The syntax is as below
```
{{title of tiddler||title of template}}
```
* Example
<<<
<<wikitext-example-without-html
src:"""{{exmp018/data01||Box-Template}}
""">>
<<<
! Introduction
You can incorporate the content of one tiddler within another using the [[Transclusion]] notation:
* `{{MyTiddler}}` transcludes a single tiddler
* `{{MyTiddler||TemplateTitle}}` displays the tiddler through a specified [[TemplateTiddler|TemplateTiddlers]]
* `{{||TemplateTitle}}` displays the specified template tiddler without altering the [[current tiddler|Current Tiddler]]
!! Transcluding Text References
You can also use a TextReference instead of a tiddler title:
* `{{MyTiddler!!field}}` transcludes a specified field of a tiddler
* `{{!!field}}` transcludes a specified field of the current tiddler
* `{{MyTiddler##index}}` transcludes a specified indexed property of a [[DataTiddler|DataTiddlers]]
* `{{##index}}` transcludes a specified indexed property of the current [[DataTiddler|DataTiddlers]]
!! Filtered Transclusion
A similar syntax can be used to transclude a list of tiddlers matching a specified [[filter|Filters]]:
```
{{{ [tag[mechanism]] }}}
{{{ [tag[mechanism]] ||TemplateTitle}}}
```
! Generated Widgets
The WikiText transclusion syntax generates a TiddlerWidget wrapped around a TranscludeWidget. For example, `{{MyTiddler||MyTemplate!!myField}}` generates the following pair of widgets:
```
<$tiddler tiddler="MyTiddler">
<$transclude tiddler="MyTemplate" field="myField"/>
</$tiddler>
```
See also:
* [[Transclusion Basic Usage]]
* [[Transclusion with Templates]]
* TemplateTiddlers
* TranscludeWidget
* [[Transclusion and Substitution]]
;How create a url from other webpage like https://twitter.com to open the tiddlywiki.com and shows directly the result of search in TW? : you can use arbitrary filters for the //permaview// part of the location hash. However, it's best to escape the square brackets (browsers typically do this if you copy the address from the address bar). * Example <<< Open tiddlywiki with all tiddlers contain the firefox keyword in their title. ``` https://tiddlywiki.com/#:[!is[system]search[Firefox]] ```
TW5 is really two separate languages that tackle different dimensions of the problem: * A declarative markup language based on HTML for representing widgets. Unlike HTML elements, widgets dynamically create and delete their own child widgets as they “refresh” themselves to track changes to the tiddler store * A procedural query language that is philosophically influenced by Forth I think the filter language is unique, but it flows very naturally from the idea of a list of titles being the simplest, degenerate filter. Most query languages are declarative, but TW5 filters have a definite sense of sequential execution. TW is part of a chorus of new ideas in information management as we move beyond paper-based metaphors for information. Much of TW isn’t unique at all: it is relatively orthodox in hypertext terms, having many of the characteristics that Ted Nelson identified when he coined the term. It’s very hard for me to see which of the unique elements of TW’s design might stand the test of time. I suspect that most of them are just provoked by the specific constraints imposed by using the browser as a platform One thing I am reasonably confident of is that the discoveries we’ve made through using TW5 are timeless because they’re more about our perception of how our brains work than any particular generation of software: that the only purpose of recording information is to reuse it, and the way to optimise information for reuse is to cut it up into the smallest semantic units and use transclusion to weave it back together into a multiplicity of alternative, different structures. I expect others to formulate these discoveries better, and for them to gradually become mainstream.
How change the background of sidebar?
* Create a tiddler
* Tag it with `$:/tags/Stylesheet`
* An put the below content inside it
* Save
```
div.tc-sidebar-scrollable {
<$set name="cssVar"
filter="[title[$:/state/sidebar]field:text[yes]]"
value="linear-gradient(to right, transparent, black 5%);"
emptyValue=""
>
background: <<cssVar>>
</$set>
}
```
WikiText can include blocks of text that are rendered with an explicit ContentType like this: ``` $$$image/svg+xml <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100"> <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="green" /> </svg> $$$ ``` This renders as: $$$image/svg+xml <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100"> <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="green" /> </svg> $$$ It is also possible to abbreviate the ContentType to a file extension. For example: ``` $$$.svg <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100"> <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" /> </svg> $$$ ``` This renders as: $$$.svg <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100"> <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" /> </svg> $$$ Unknown types render as plain text: ``` $$$text/unknown Some plain text, which will not be //formatted//. $$$ ``` Which renders as: $$$text/unknown Some plain text, which will not be //formatted//. $$$ A render type can also be specified, causing a particular text rendering to be displayed. For example: ``` $$$text/vnd.tiddlywiki>text/html This is ''some'' wikitext $$$ $$$text/vnd.tiddlywiki>text/plain This is ''some'' wikitext $$$ ``` Renders as: $$$text/vnd.tiddlywiki>text/html This is ''some'' wikitext $$$ $$$text/vnd.tiddlywiki>text/plain This is ''some'' wikitext $$$
; How to delete all `$:/state` and `$:/temp` tiddlers on demand to refresh TW?
: Use the `$action-deletetiddler` widget with suitable filter abd `$button`
! Solution
The below code implements a simple mechanism to select the desired tiddlers and delete theme one by one or all at once.
!! Code
{{exmp067/macro/delete-temp-state||template/code}}
!! Remarks
* The `$select` widget lets to choose between `$:/temp` and `$:/state`
* The selected option is stored as a filter in `status` field of [[exmp067/macro/delete-temp-state]] tiddler
* The first `$button` uses `$action-deletetiddler` with a filter reads from `status` field. It removes all tiddlers meet the filter criteria
* The `$list` uses a filter reads from `status` field. It then calls the `deleteButton` macro where it displays a button and a link to the target tiddler.
* The `deleteButton` macro uses `$action-deletetiddler` widget with `$tiddler` parameter within the `$button` widget to selectively deletes the target tiddler
!! Inspiration
* This work inspired from the great codes by Mario Pietsch at [[Wikilabs|https://wikilabs.github.io/editions/remove-states/]]
* The [[Tiddler Commander|https://kookma.github.io/TW-Commander/]] has great facilities to do these kind of stuffs quite easily and efficiently.
;How to conditionally reveal (display) the raw content of tiddlers?
:Use a view template with proper condition
Tiddlywiki by default display the wikified contents. To display the raw contents like scripts, html tags, inline styles a view template can be used.
!! Example
Display the raw content of all tiddlers meet one of the below criteria:
* all system tiddlers with the word `template` in title
* all edit templates i.e. those tagged with `$:/tags/EditTemplate`
* all edit templates i.e. those tagged with `$:/tags/ViewTemplate`
* all global macros i.e. those tagged with `$:/tags/Macro`
The below code shows how this example can be implemented. Create a tiddler and tag it with `$:/tags/ViewTemplate` and put the below code in its text field.
```
<$list filter="[all[current]tag[show-content]]
[all[current]is[system]search:title[template]]
[all[current]tag[$:/tags/EditTemplate]]
[all[current]tag[$:/tags/ViewTemplate]]
[all[current]tag[$:/tags/Macro]] +[limit[1]]">
<$codeblock code={{!!text}} language="xml" />
</$list>
```
;Remarks
: the content of tiddler meets any of above condition will be displayed as codeblock
: if plugin [[highlight.js|https://tiddlywiki.com/prerelease/#Highlight%20Plugin]] is installed the contented will be highlghted using xml language. This is because wikitext script is close to xml.
! Standalone Configuration
Follow these instructions when using TiddlyWiki as a standalone HTML file:
# Create a backup of your current TiddlyWiki HTML file ([[just in case|The First Rule of Using TiddlyWiki]])
# Open the [[control panel|$:/ControlPanel]] and go to the ''Plugins'' tab
# Click on the plugin you want to delete to open it as a standalone tiddler
# Click the <<.icon $:/core/images/down-arrow>> ''more'' button and <<.icon $:/core/images/delete-button>> ''delete'' the tiddler
# Save your TiddlyWiki <<.icon $:/core/images/save-button>>
# If a yellow warning bar appears at the top of the window, refresh the window so that TiddlyWiki completely removes the plugin <<.icon $:/core/images/refresh-button>>
#* <<.from-version "5.1.22">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See PluginMechanism for more details
# The plugin should no longer be active or available
! Client-Server Configuration
Follow these instructions when using TiddlyWiki under Node.js:
# Quit the server if it is running
# Edit the `tiddlywiki.info` file (it is in JSON format) and locate the `plugins` and `themes` section (see below)
# Remove the entries corresponding to the plugins you wish to remove. Take care to retain commas to separate items, but do not terminate the last item in a list with a comma
# Restart the server
```
{
"plugins": [
"tiddlywiki/codemirror"
],
"themes": [
"tiddlywiki/vanilla",
"tiddlywiki/snowwhite"
]
}
```
<<docit>>
\import exmp117/macro/uniqueid ;How to create a unique permananet id to be used for title of state tiddler? : use now macro with suitable format Tiddlywiki uses [[qualify|https://tiddlywiki.com/#qualify%20Macro]] macro for creating unique title for state tiddlers. The issue is qualify macro generates different ids based on the situation and is very depenedent to currentTiddler. See for example [[the good and bad of Qualify|https://groups.google.com/d/msg/tiddlywiki/51XMzmLGxfQ/PLkfWWthBAAJ]]. !! A proposed solution One solution is to generate unique permamant title using some helpwr function as below <<code-link "exmp117/macro/uniqueid">> for example <$macrocall $name="wikitext-example-without-html" src="""<<uniqueId $:/keepstate>> """/> ;Remarks : the macro `create_id_from_timedata` creates an id based on current date and time : the $wikify widget calls `create_id_from_timedata` and converts the id to plain text :the $button lets copy the generated if into clipboard and use elsewhere
;How to reset the field value on multiple tiddlers?
:list them and then use the `action-setfield` to set the new values
!! Example
The below code finds all fileds named `time_total` and `grand_total` and then reset their value to zero.
```
<!-- show tiddlers and values (just so we know it works) -->
<$list filter="[has[time_total]] [has[grand_total]]">
<<currentTiddler>> time_total={{!!time_total}} grand_total={{!!grand_total}}<br>
</$list>
<!-- HERE'S THE BUTTON -->
<$button> reset totals
<$list filter="[has[time_total]] [has[grand_total]]">
<$action-setfield time_total="0" grand_total="0" />
</$list>
</$button>
```
!! Remarks
* The first $list use two filter runs in OR mode and lists all tiddlers with fields `time_total` OR `grand_total`
* The body of $list displays the found tiddler and the values of those fields if any
* The next part create a button for action on the tiddler with `time_total` and `grand_total` fields
* The seconf $list widget again lists all all tiddlers with fields `time_total` OR `grand_total` and in the body sets `time_total`="0" `grand_total`="0"
;Note
: the filter tests for any tiddler that has ''non-blank'' values for `time_total` OR `grand_total`. If you want to test for tiddlers that have either of those fields, even if blank, use:<div>
```
<$list filter="[has:field[time_total]] [has:field[grand_total]]">
```
</div>
* A link to a tiddler can be dragged into a different wiki, or * dragged to the bookmarks bar then dragged into another wiki for import.
; How to use Tiddlywiki svg icons with body text?
:Tiddlywiki svg icons are big and when used inside text make extra space between lines. The below css setting helps to use aligned svg images with the same font size.
{{exmp082/macro||template/code}}
* The macro gets a tiddler title contains svg
* The core is a CSS valid color and used as svg fill color
!! Example
{{exmp082/demo||template/full}}
!! Remarks
The svg tiddler should have no content type. This is very important as the conent type is set to `image/svg+xml`, the image will be not shown.
\define makeCSS() width: calc(3em * $(len)$);
\define xtip(label, tip)
<$set name="x" value=<<__tip__>> >
<$list filter="[enlist<x>count[]]" variable="len">
<div class="xwrapper">$label$
<div class="xtip" style=<<makeCSS>>>
$tip$<br>
''Number of words'': <<len>>
</div>
</div>
</$list>
</$set>
\end
; How is it possible to use the TW variables inside a CSS `calc()` function?
There is not any way that works for inline styles, but it works fine if you make a tiddler and tag it with `$:/tags/Stylesheet` and then define the css in that tiddler with whatever wikitext you want.
If you can rearrange your tiddlers to have the css defined in its own place that is a solution.
If you can't than you could use helper macros like this:
```
\define makeCSS() width: calc(3em * $(len)$);
```
* Exampel
This is a sample code shows a variable width div element, its width is set dynamically by a macro through css using TW variable and css `calc` function.
''Note:'' The stylesheet has been defined in [[stylesheet/Exmp017-Tooltip]]
```
\define makeCSS() width: calc(3em * $(len)$);
\define xtip(label, tip)
<$set name="x" value=<<__tip__>> >
<$list filter="[enlist<x>count[]]" variable="len">
<div class="xwrapper">$label$
<div class="xtip" style=<<makeCSS>>>
$tip$<br>
''Number of words'': <<len>>
</div>
</div>
</$list>
</$set>
\end
This is a sample <<xtip "tooltip" "This is a tooltip">> and this is another one <<xtip "next tip" "This is the ''second'' toltip">>.
```
* Result
This is a sample <<xtip "tooltip" "This is a tooltip">> and this is another one <<xtip "next tip" "This is the ''second'' toltip">>.
!! Control Panel > Info > Basics tips
;Default tidlers
* Default tiddlers If you use `[list[$:/StoryList]]` in the default tiddlers it will always load the Home tiddler and the previously open tiddlers
; Username
* Username for signing edits this can not only be used as a user name, but you can change it for a particular edit session.
** For example `Tony V0.3 changes` then you can list tiddlers created and modified for that edit session.
** Consider clicking on the user name in the tiddler subtitles and defining a more descriptive definition in the resulting "user tiddler"
; Title of new tiddlers
* Title of new tiddlers Set to `New {{$:/SiteTitle}} Tiddler` for each new tiddler to include the site title
** For example the ''Recipes'' wiki creates new tiddlers titled `New Recipes Tiddler`
;How to use Google API Fonts in Tiddlywiki?
# <div>
Create a new tiddler named as you like with the tag `$:/tags/RawMarkup` and add the link to your font, e.g:
Example:
```
<link href='http://fonts.googleapis.com/css?family=Poiret+One' rel='stylesheet' type='text/css'>
```
</div>
#<div>
Create another tiddler named as you like with the tag `$:/tags/Stylesheet` and put your css in there, for instance :
```
html span.tc-title{
color: red;
font-family: "Poiret One", "Impact";
}
```
</div>
!!See also
* Google fonts: https://fonts.google.com/
* Sample wiki: http://asciifish.tiddlyspot.com/
* TheDiveO plugins
** [[Font Awesome|http://thediveo.github.io/TW5FontAwesome/]]
** [[Roboto Font|https://github.com/TheDiveO/TW5Roboto]]
<<alert info "The Roboto Font above is an embeded font in TW. Embeding fonts makes TW gets big and heavy. But it is self contained." width:65%>>
Follow these simple steps to use named colors in your palettes or templates:
# create a tiddlerfor your colors, e.g. $:/.mr/colors
# set its type to ''Data dictionary'' (`application/x-tiddler-dictionary`)
# add entries with descriptive color names, specifying a [[valid color format|http://www.w3schools.com/cssref/css_colors_legal.asp]]
# use them in your palette or stylesheets as `{{$:/.mr/colors##color-name}}`
Some example colors:
* using [[standard html color names|http://www.w3schools.com/cssref/css_colornames.asp]]
* sample custom color defined in [[hsla()|http://www.w3.org/wiki/CSS3/Color/HSLA]]
Here's an example using those:
<div style="width:40%">
```css
.fancy{
background:{{$:/.mr/colors##AliceBlue}};
color:{{$:/.mr/colors##crimson}};
border: 2px solid {{$://colors##Beige}};
border-radius: 10px;
padding:5px;
}
```
</div>
Also see [[A Rdio Button Macro]] How to use radio buttons to reveal text in a presistant way? ``` <$radio field="section" value="1"> One</$radio> <$radio field="section" value="2"> Two</$radio> <$radio field="section" value="3"> Three</$radio> <$reveal state="!!section" type="match" text="1"> This is PART ONE </$reveal> <$reveal state="!!section" type="match" text="2"> This is PART TWO </$reveal> <$reveal state="!!section" type="match" text="3"> This is PART THREE </$reveal> ``` <$radio field="section" value="1"> One</$radio> <$radio field="section" value="2"> Two</$radio> <$radio field="section" value="3"> Three</$radio> <$reveal state="!!section" type="match" text="1"> This is PART ONE </$reveal> <$reveal state="!!section" type="match" text="2"> This is PART TWO </$reveal> <$reveal state="!!section" type="match" text="3"> This is PART THREE </$reveal>
The datauri macro returns a data URI for the content of a tiddler.
It is often used in //stylesheet// tiddlers to reference things like inline images and fonts:
```
background: url(<<datauri "Motovun Jack.jpg">>);
```
The data URI is automatically base64-encoded in the case of a non-text tiddler.
Try the following in a new tiddler tagged `$:/tags/Stylesheet` on https://tiddlywiki.com:
```
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock
html body.tc-body {
background: url("<<datauri "Tiddler Fishes.svg">>") center center;
}
```
Assume you have a data tiddler (dictionary) and you want to list the properties (name/value or index/value) pairs. One solution is using the `tiddler` widget.
* Use `<$tiddler>` widget
```
<$tiddler tiddler="Data for Example04">
* Ali is {{##Ali}}
* Mohammad is {{##Mohammad}}
* Hirad is {{##Hirad}}
</$tiddler>
```
Because of the surrounding `<$tiddler>...</$tiddler>` widget, you can omit the tiddlername from the index references so that they will be relative to the "currentTiddler"... which has been set by the `<$tiddler>` widget to be the appropriate ~DataTiddler. Thus, you only have to change ONE place, instead of "more than a hundred"
* ''Results''
<$tiddler tiddler="Data for Example04">
* Ali is {{##Ali}}
* Mohammad is {{##Mohammad}}
* Hirad is {{##Hirad}}
</$tiddler>
---
Related tiddlers
<<list-links "[tag[exmp014]]">>
TiddlyWiki5 includes a set of [[Commands]] for use on the command line to perform an extensive set of operations based on TiddlyWikiFolders, TiddlerFiles and TiddlyWikiFiles. For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML: ``` tiddlywiki --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html ``` Running `tiddlywiki` from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces. <<.from-version "5.1.20">> First, there can be zero or more plugin references identified by the prefix `+` for plugin names or `++` for a path to a plugin folder. These plugins are loaded in addition to any specified in the [[TiddlyWikiFolder|TiddlyWikiFolders]]. The next argument is the optional path to the [[TiddlyWikiFolder|TiddlyWikiFolders]] to be loaded. If not present, then the current directory is used. The commands and their individual arguments follow, each command being identified by the prefix `--`. ``` tiddlywiki [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]] ``` For example: ``` tiddlywiki --version tiddlywiki +plugins/tiddlywiki/filesystem +plugins/tiddlywiki/tiddlyweb mywiki --listen tiddlywiki ++./mygreatplugin mywiki --listen ``` <<.from-version "5.1.18">> Commands such as the ListenCommand that support large numbers of parameters can use NamedCommandParameters to make things less unwieldy. For example: ``` tiddlywiki wikipath --listen username=jeremy port=8090 ``` See [[Commands]] for a full listing of the available commands.
For getting the property value from a data tiddler (dictionary) using a variable, use the below syntax ``` <$transclude tiddler="data-tiddler" index=<<var-name>> /> ``` !! Storing the property value in another variable If you want to store the property value into another variable you can use the `set` widget as below ``` <$set name="data" tiddler=<<dataTid>> index=<<idx>> > ... the property value can be accessed here using <<data>> variable. </$set> ``` See also [[DataTiddler Value Set to a Variable]] for similar example.
\define makeCls() $(cls)$ mr-contents
\define setCls(p)
<$set name=cls filter="$p$ +[addprefix[mr-dcls-]]">
<span class=<<makeCls>> > This is a test </span>
</$set>
\end
<style>
.mr-dcls-red{color:red; font-weight:700;}
.mr-dcls-yellow{background-color:#ffff00;}
.mr-contents{border:1px solid blue;padding:5px;}
</style>
; How dynamically set the class attribute of Html tag using Tiddlywiki macros?
: A macro can accepts class names or aliases or part an abbreviated name and then creates the correct class name to set for the desired Html tag. An example is given below.
!! Example
In the below example the class attribute of `span` tag has been set by `makeCls` macro.
* The `setCls` accept class aliases as a single input parameter i.e. `p`
* It then split it using space as delimiter and add the prefix `mr-dcls-` to make the class name
** If `p` is "red yellow" then `mr-dcls-red` and `mr-dcls-yellow` will be created.
* The macro `makeCls` then encapsulates all classes. For our example here the macro output will be `mr-dcls-red mr-dcls-yellow mr-contents`
* Finally the class attribute of `span` tag will be set by a class to `makeCls` macro as `<span class=<<makeCls>>> ... </span>`
```
\define makeCls() $(cls)$ mr-contents
\define setCls(p)
<$set name=cls filter="$p$ +[addprefix[mr-fadeIn-]]">
<span class=<<makeCls>> > This is a test </span>
</$set>
\end
```
The below styles are used in this example
```
<style>
.mr-dcls-red{color:red; font-weight:700;}
.mr-dcls-yellow{background-color:#ffff00;}
.mr-contents{border:1px solid blue;padding:5px;}
</style>
```
<<alert warning "''Note'': The `$p$` in filter operation above, when `p` contains space, is interpreted as a list title (each word as a title).">>
!! Demo
This demo sets two classes to span element `mr-dcls-red mr-dcls-yellow`. The `mr-contens` is always applied.
<$macrocall $name="wikitext-example-without-html"
src="""<<setCls "red yellow">>
"""/>
This demo sets only on class to span element `mr-dcls-yellow`
<$macrocall $name="wikitext-example-without-html"
src="""<<setCls "yellow">>
"""/>
In Tiddlywiki it is possible to override or even overloade a variable. As they have not strict type, overloading is the same as overriding. The following example renders "Ringo" and ''NOT'' John, //Paul//, or //George//. <$macrocall $name="wikitext-example-without-html" src="""><$set name="foo" value="John"> <$set name="foo" value="Paul"> <$set name="foo" value="George"> <$set name="foo" value="Ringo"> <$text text=<<foo>>/> </$set> </$set> </$set> </$set> """/>
A variable that is defined outside a macro can be referred to within the macro using ''either'' `$(varname)$` or `<<varname>>`, depending on context. The difference is that occurrences of `$(varname)$` are immediately replaced with the current value of the variable, while `<<varname>>` is simply returned unchanged as part of the macro output. Thus these are all valid uses: ``` \define mymacro() <$somewidget param="$(currentTiddler)$" /> \define mymacro() <$somewidget param="TEXTBEFORE $(currentTiddler)$ TEXTAFTER" /> \define mymacro() <$somewidget param=<<currentTiddler>> /> ``` but the following is NOT (because it mixes` <<...>>` inside a quoted parameter value where parsing doesn't occur) ``` \define mymacro() <$somewidget param="TEXTBEFORE <<currentTiddler>> TEXTAFTER" /> ```
See also the [[introduction to the concept of variables|Variables]].
To transclude the value of a variable, use the [[macro call syntax|Macro Calls in WikiText]] with no parameters. You can also use a <<.wlink MacroCallWidget>> widget.
A [[macro|Macros]] snippet can contain `$(name)$` as a [[placeholder|Macro Definitions in WikiText]] for which the value of the variable of that name will be substituted.
A variable's value can be used as a [[filter parameter|Filter Parameter]], or as a [[widget attribute|Widgets in WikiText]]. The latter supports macro parameters.
!! Example: defining a variable
<$macrocall $name=".example" n="1"
eg="""<$set name=animal value=zebra>
<<animal>>
</$set>"""/>
!! Example: defining a macro
The `\define` pragma below [[defines a macro|Macros in WikiText]] called <<.var tags-of-current-tiddler>>. The macro returns the value of the tiddler's <<.field tags>> field, and can be accessed from anywhere else in the same tiddler (or in any tiddler that [[imports|ImportVariablesWidget]] it).
<$importvariables filter="$:/editions/tw5.com/macro-examples/tags-of-current-tiddler">
<$codeblock code={{$:/editions/tw5.com/macro-examples/tags-of-current-tiddler}}/>
<$macrocall $name=".example" n="2" eg="""The tags are: <<tags-of-current-tiddler>>"""/>
</$importvariables>
!! Example: using a variable as a filter parameter
This example uses the <<.olink backlinks>> [[operator|Filter Operators]] to list all tiddlers that link to this one.
<$macrocall $name=".example" n="3" eg="""<<list-links filter:"[<currentTiddler>backlinks[]]">>"""/>
For more details and examples, see: http://pv5.tiddlyspot.com
;general wiki text, including macros
: `<<variable>>`
: `{{transclusion}}`
: @@.warn ~~`<variable>`, `"<variable>"`, `[[<variable>]]`~~@@
;general html element attributes, including widgets, e.g. `$macrocall`
: `<$widget attribute=<<variable>>/>`
: `<$widget attribute=<<callMacroToComputeValue>>/>`
: `<$widget attribute={{transclusion}}/>`
: @@.warn ~~`<$widget attribute="prefix-<<variable>>"/>`~~@@
: @@.warn ~~`<$widget attribute=[[prefix-<<variable>>]]/>`~~@@
: @@.warn ~~`<$widget attribute="prefix-{{transclusion}}"/>`~~@@
;within macro body
: `$macroParameter$`, `"$macroParameter$"`, `[[$macroParameter$]]`
: `$(variable)$` (references a variable from the context of the calling macro)
: `<$widget attribute="prefix-$macroParameter$"/>`
: `<$widget attribute=$macroParameter$/>` (unsafe when having spaces)
: @@.warn ~~`$variable$`, `"$variable$"`, `[[$variable$]]`~~@@
;macro parameter
: `<<macro param:"$macroParameter$">>` (only inside macro)
: @@.warn ~~`<<macro <<variable>> >>`~~@@
: @@.warn ~~`<<macro "<<variable>>" >>`~~@@
: @@.warn ~~`<<macro param:<<variable>> >>`~~@@
: @@.warn ~~`<<macro {{transclusion}}>>`~~@@
: @@.warn ~~`<<macro param:{{transclusion}}>>`~~@@
;in filters
: `[$macroParameter$]` (only filters within macros)
: `[tag<variable>]` (no inner square brackets!)
: `[tag{transclusion}]` (only single curly brackets!)
: @@.warn ~~`[tag[$(variable)$]]`~~@@
: @@.warn ~~`[tag[$(variable)$]]`~~@@
See [[discussion|https://groups.google.com/d/msg/tiddlywiki/_x9CDAFtwQc/Qlng28uWNKIJ]]...
* See also: [[Shorthand syntax summary]]
* See also [[Eric description on brackets|Brackets]]
!! Types of Brackets
<<<
Brackets are used to indicate the ''type of operand'':
* `[]` - square brackets surround ''literal'' values,
* `{}` - curly braces around ''field references'',
* `<>` - angle brackets around ''variable names''.
<<<
!! Single or Double Brackets - `<` vs `<<`
<<<
In ~TiddlyWiki ''content'', ''variables'' and ''macros'' are referenced using `<<variableName>>`. The ''double''-bracket syntax is used to avoid conflicts with standard HTML syntax (i.e., `<b>` starts normal HTML bold formatting, while `<<b>>` embeds the value of a ~TiddlyWiki variable named "b").
However, ''within'' ~TiddlyWiki ''filters'', there is no need to double the brackets, as HTML is not allowed ''within'' the filter, so only single `<variableName>` is used.
Thus, inside a filter we can use a pair of ''single'' angle brackets, like this:
```
<$list filter="[is[current]!has<eachfield>]" variable=null>
```
<<<
!! Brackets within filters
<<<
Why I don't have to wrap `<fieldname>` with `[<fieldname>]` in a filter?
Think of the brackets in filters as part of the operand itself rather than a "container" for the operand. As explained above, the type of bracket indicates the type of operand being used:
* use `[...]` for ''literal'' values, e.g., `[texthere]`
* use `{...}` for ''field'' references, e.g., `{!!fieldname}`
* use `<...>` for ''variables'' e.g. `<currentTiddler>`
Thus, to split the literal text, "sometext", you could write: `[title[sometext]splitbefore[t]removesuffix[t]]`
you would get "some" as a result:
Ex: `<<list-links "[title[sometext]splitbefore[t]removesuffix[t]]">>`
If the value "sometext" is stored in a field named "somefield" in the current tiddler, you could write: `[{!!somefield}splitbefore[t]removesuffix[t]]`
and, if the value "sometext" is stored in a variable named "somevariable", you could write: `[<somevariable>splitbefore[t]removesuffix[t]]`
As a slightly more complex example, suppose the value to split on was also stored in a variable. Then you could write:
`[<somevariable>splitbefore<othervariable>removesuffix<othervariable>]`
<<<
hope this helps,
enjoy,
-e
Eric Shulman
; Problem definition : Consider parent tiddlers: A, B, C, D, etc. each tagged "parent". Then there are child tiddlers: A1, B1, C2, D2, etc. (they are not tagged "child", but are tagged with the name of the parent tiddler. How create a conditional view template for these child tiddlers? ; Solution : A view template is required to manage the presentation of child tiddlers, and capture any tiddler that is a child of any of the parent tiddlers, without specifying or knowing the name of the parent tiddlers. !! Template tiddler The below code shows a conditional view template tiddler. You can create a tiddler and tagged it with `$:/tags/ViewTemplate` ``` <$list filter="[is[current]tags[]]"> <$list filter="[<currentTiddler>tag[parent]]"> This is a child! </$list> </$list> ``` ; Remarks : The first `$list` filters all tiddlers have tag and lists its tags : The second `$list` filters tags and see if any of them itself is tagged with `parent` : If the above two conditions met then a message This is a child! is displayed : You can use any other commands here to create a more sophisticated output. !! Example * Create three tiddlers named exmp069/data/Tid01, Tid02, Tid03 * Tag all abobe tiddlers with `parent` * Create six child tiddlers as exmp069/data/Tid01-1, Tid01-2 and so on * Use the above conditional view template to act only on child tiddlers, means each tiddler tagged with a tiddler itself is tagged with `parent`, e.g ** main tiddler exmp069/data/Tid01 is tagged with `parent` ** child tiddler exmp069/data/Tid01-1 is tagged with `exmp069/data/Tid01`
vlookup函数是Excel中非常强大且经常使用的函数之一,主要是用来在两个有数据项关联的表格之间比对检索,过滤出需要的或者不需要的数据。具体使用方法是要熟悉Vlookup的工作原理: > 首先是两个表格之间有共同的数据项可以用来关联。 > 其次关联的数据项最好具有唯一性,保证一列数据项里没有重复。比如编号、统一社会信用代码等 * Vlookup(arg1,arg2,arg3,arg4)。该函数共四个参数,第一个参数是需要再第二表中查找的数据项,一般是两表关联的数据项,在数据库中可以叫做关键字段;第二个参数是指定目标表格中包含待查找数据的一个矩形数据区域,一般可以用SheetName!$x$y:$x1$y1的绝对引用来表示一个数据区域;第三个参数是指定矩形数据区域包含的要获取到当前单元格数据的索引号;第四个参数是查找方式,一般用0表示精确查询。 > 说明一下第一个参数:是用来关联两个表格的数据项,一般具有唯一性的字段,比如编号等 > 第三个参数是从目标数据区域获取的数据在矩形数据区域排列的索引号。 * 如果在函数执行过程中,出现了公式不能检索,而是出现了公式的本身,就是表格在导出时附带了一定的装饰格式,可以使用Excel清除功能仅仅把格式清除,再次执行公式。 >最后可以描述一下Vlookup函数的运行过程: >1.获取第一个参数描述的单元格数值, >2.在第二个参数指定的数据区域中检索第一个参数数据值 >3.如果找到对应的关联数据值,就获取改数据所在的行,再结合第三个参数指定的数据区域的索引号,有了行和列的结合,自然就可以获取这个单元格数据,最终函数返回这个单元格的数据,复制到公式所在的单元格。 >4.如果所有的行都检索完毕,没有找到关联数据项的值,vlookup函数就返回一个错误的符号。 >通过了解了vlookup的原理,就可以通过两个键值得关联,在目标数据区域指定要获取的数据的索引号,可以获取关联行的任何一列的数据。 <br/> *小技巧:在使用鼠标操作插入函数时,用鼠标选中数据区域时一般为相对引用。可以使用组合键Shift+F4就会自动转换为数据区的绝对引用。
<div class="tc-table-of-contents"> <<toc-selective-expandable 'Web'>> </div>
*What is DNS
DNS, which stands for domain name system, is an Internet service that translates domains names into IP addresses. For example, when you visit KeyCDN.com it must look up the corresponding IP address to that hostname behind the scenes. This query is performed by a Domain Name Server (DNS server) or servers nearby that have been assigned responsibility for that hostname. You can think of a DNS server as a phone book for the internet. A DNS server maintains a directory of domain names and translates them to IPs.
{{HowDnsWork}}
;Tiddlywiki uses tiddlers to store global variables and parameters. When use temporary tiddlers and when to use state tiddlers for this purpose? : Tiddlywiki normally uses `$:/state` prefix for state tiddlers and `$:/temp` prefix for temporary tiddlers * Both `$:/temp` and `$:/state` are ignored when determining if the document is "dirty" (see [[$:/config/SaverFilter]])... and by default both are saved when you save the file (except for `$:/state/popup`, which are NOT saved... see `$:/core/save/all`) * However, conceptually, `$:/temp` tiddlers should be "throw-away"... able to be discarded when not actually in use, while `$:/state` tiddlers should reasonably be expected to persist across sessions. * To enforce this difference, I routinely create a tiddler, tagged with `$:/tags/Macro`, containing:<div> ``` \define publishFilter() -[prefix[$:/temp]] ``` </div> * This variable is automatically included by the `$:/core/save/all` filter. The effect is that `$:/temp` tiddlers are NOT saved when you save the file and are, in effect, automatically discarded at the end of the session. * Thus, if I want a reveal state to always revert to closed on startup, I will use a `$:/temp` tiddler, but if I want the reveal state to persist across sessions, I will use a `$:/state` tiddler ; How keep state tiddlers using Tiddlywiki on Node.js? : As [[Mario|https://groups.google.com/d/msg/tiddlywiki/ND6fEBAmxDw/zGtnXHT7FgAJ]] explained, the node server uses a config tiddler [[$:/config/SyncFilter]] to sync info back to the server. As you can see the default setting contains: ``` [is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]] ``` Just remove the `-[prefix[$:/state/]]` element from the filter and the state info will be saved back. .. Or use a different name like `$:/keepstate`. !! More information * [[Saving mechanism|https://tiddlywiki.com/prerelease/#SavingMechanism]] * `The publishFilter` start to work from TW 5.1.22
Widdly provides a minimal self-hosted TiddlyWiki5 server written in Go, original form opennota/widdly, and bring proof of concept flat-file & sqlite backends support from xarnze/widdly with much improvements. * Download: [[Github|https://github.com/cs8425/widdly/releases]] * Update release v1.2.2, And here are some must to be known: https://github.com/cs8425/widdly#important-to-know
The new tiddler message creates a new draft tiddler and adds it to the current story. It requires the following properties on the `event` object: |!Name |!Description | |param |The optional title of a tiddler to use as a template for the new tiddler | |paramObject |Optional hashmap of additional tiddler fields | |navigateFromTitle |Title of the tiddler from which the navigation to the new tiddler was initiated | The title for the draft tiddler is chosen according to these rules: * If a hashmap was used and a title field was specified, use that title * If a template tiddler was used, use the title of the template tiddler, making it unique with a numeric suffix * Otherwise, generate a new title based on the default new tiddler title with a numeric suffix to make it unique The new tiddler message is usually generated with the ButtonWidget or ActionSendMessageWidget and is handled by the NavigatorWidget. ! Examples To make a button that creates new tiddlers tagged "task", create a tiddler called "TaskTemplate" with that tag, and then make your button like this: ``` <$button message="tm-new-tiddler" param="TaskTemplate">New Task</$button> ``` To create a new tiddler with given attributes rather than from a template: ``` <$button> <$action-sendmessage $message="tm-new-tiddler" title="This is newly created tiddler" tags="OneTag [[Another Tag]]" text=<<now "Today is DDth, MMM YYYY">>/> New Tiddler </$button> ```
The new tiddler message creates a new draft tiddler and adds it to the current story. It requires the following properties on the `event` object: |!Name |!Description | |param |The optional title of a tiddler to use as a template for the new tiddler | |paramObject |Optional hashmap of additional tiddler fields | |navigateFromTitle |Title of the tiddler from which the navigation to the new tiddler was initiated | The title for the draft tiddler is chosen according to these rules: * If a hashmap was used and a title field was specified, use that title * If a template tiddler was used, use the title of the template tiddler, making it unique with a numeric suffix * Otherwise, generate a new title based on the default new tiddler title with a numeric suffix to make it unique The new tiddler message is usually generated with the ButtonWidget or ActionSendMessageWidget and is handled by the NavigatorWidget. ! Examples To make a button that creates new tiddlers tagged "task", create a tiddler called "TaskTemplate" with that tag, and then make your button like this: ``` <$button message="tm-new-tiddler" param="TaskTemplate">New Task</$button> ``` To create a new tiddler with given attributes rather than from a template: ``` <$button> <$action-sendmessage $message="tm-new-tiddler" title="This is newly created tiddler" tags="OneTag [[Another Tag]]" text=<<now "Today is DDth, MMM YYYY">>/> New Tiddler </$button> ```
<div class="tc-table-of-contents"> <<toc-selective-expandable 'Widgets'>> </div>
! What do set and list widgets? In conventional programming languages the `set` and `list` widgets can be explained as below: !! Set widget The set variable widget assigns a value to a specified variable. The new value of the variable is available to the content within the set variable widget [1]. In conventional programming language set is equal to ``` $set name="x" value="" means let x=value .... end ``` !! List widget The list widget displays a sequence of tiddlers that match a tiddler filter [2]. In conventional programming language set is equal to ``` $list filter=".." variable="i"> means for i=filter output += ... $i end ``` --- [1]. https://tiddlywiki.com/#SetWidget<br> [2]. https://tiddlywiki.com/#ListWidget
Widgets provide rich functionality within WikiText. They have the same syntax as [[HTML elements|HTML in WikiText]], but the tag name always starts with `$`. For example:
```
<$button message="tm-close-tiddler">Close Me!</$button>
```
Note that widgets inherit all the features of [[HTML in WikiText]]:
* Widget attributes can be specified as:
** Unquoted strings (that cannot contain spaces)
** Strings quoted with single or double quotes
** Strings quoted with triple-double quotes
** Macro invocations (eg `attr=<<myMacro>>`)
** Transclusions (eg, `attr={{MyTiddler!!field}}`)
** Filtered transclusions (eg, `attr={{{ [filter[op]] }}}`)
* The content of a widget is parsed in inline mode unless the opening tag is followed by two linebreaks, which forces block mode
** 'Inline mode' means that 'block mode' parse rules like headings, tables and lists are not recognised
See [[HTML in WikiText]] for more details.
The available widgets include:
<<list-links "[tag[Widgets]]">>
The below code is another version of <<tag exmp054>>. This is a rather tough solution, but it has some intresting point from programming point of view ``` \define gt() $(TidA)$ $(TidB)$ +[nsort[]last[1]remove[$(TidB)$]] \end \define is-it-newer(TiddlerA, TiddlerB) \whitespace trim <$set name=TidA tiddler=<<__TiddlerA__>> field="modified"> <$set name=TidB tiddler=<<__TiddlerB__>> field="modified"> <$list filter=<<gt>> emptyMessage="no"> yes </$list> </$set> </$set> \end > Is `Aa` newer than `Bb`? <<is-it-newer Aa Bb>> > <$wikify text="""<<is-it-newer Aa Bb>>""" name="result"> <$reveal type="match" text="yes" default=<<result>> > Yes, Aa is newer </$reveal> <$reveal type="match" text="no" default=<<result>> > No, Aa is older </$reveal> </$wikify> ``` !!! Remarks * The `gt` macro returns the greater one of its parameters * The `is-it-newer` uses `gt` to see the modification date of which tiddler is newer * The `$wikify` widget then store the result by `is-it-newer` macro and * The `$reveal` widgets compare the result by $wikify widget and displays the final result !! Important note # The macro `is-it-newer` creates some white spaces and this makes the wikified result is different from `yes` and `no` in `$reveal` widget # You need to add `\whitespace trim` pargma into `is-it-newer` to get the correct result # Passing a maco to `text` attribute of `$wikify` without uisng quotes makes wrong wikification, [[see here|https://groups.google.com/d/msg/tiddlywiki/9QQvkJkLogA/GrL2OW9NBgAJ]]. <<alert info "''BTC:'' What I want to say is that I think the `$wikify` widget should never be the widget of choice if it can be done without. When I use it I try questioning if there's a reason why, if I know that it does something that's not possible or more difficult without it.">>
The below macro creates a links to an external site. When the label is a CamelCase word, TW confuses and instead of pointing to an external link it interpretes the macro output as internal link. To address this issue, the `\rules except wikilink` is employed. !! Example * With `\rules except wikilink` ** the link created is correct: `TiddlyWiki : https://tiddlywiki.com/` * Without `\rules except wikilink` ** the link is wrong: `TiddlyWiki : https://tiddlywiki.com/#TiddlyWiki` ``` \define makeLink(site link) \rules except wikilink <a href="$link$" target="_blank">$site$</a> \end
~WikiText is a concise, expressive way of typing a wide range of text formatting, hypertext and interactive features. It allows you to focus on writing without a complex user interface getting in the way. It is designed to be familiar for users of [[MarkDown|http://daringfireball.net/projects/markdown/]], but with more of a focus on linking and the interactive features. ~WikiText can also be inserted to the text field using the [[Editor toolbar]]. See [[Formatting text in TiddlyWiki]] for an introduction to WikiText. The following elements of WikiText syntax are built into the core: <<list-links "[tag[WikiText]]">>
` ''两个英文单引号包围文字'' ` ''加粗'' ` //斜体// ` //斜体// `__下划线__` __下划线__ `~~删除线~~` ~~删除线~~ `文字^^上角标^^` 文字^^上角标^^ `文字,,下角标,,` 文字,,下角标,, `短破折 -- 线` 短破折 -- 线 `长破折 --- 线` 长破折 --- 线 分割线 `---` --- `代码` ``在代码中使用英文`引号`的方法`` ``` 代码块 ``` """ 强制 换行 """ 实际上在 TiddlyWiki 里正常换行要打两次回车 <<< 引用 <<< > 引用 >> 中的又一 >>> 个引用 !一级标题 !!二级标题 !!!三级标题 * 无序列表 ** 无序列表中的复合列表 # 有序列表 ## 有序列表的复合列表 ;术语 :定义 # 混合 #* 列表 #;你想 #:怎样 #>就怎样 !.h1-class.large CSS类可以这样使用 [[引用的站内条目标题]] [[自定义显示的文字|引用的站内条目标题]] IsLinkOmg(自动驼峰链接) ~IsLinkOmg(取消自动驼峰链接) 直接显示链接:http://tiddlywiki.com [[自定义显示文字|http://tiddlywikicom]] 不显示链接只显示纯文字: ~http://not.alink.com 本地链接: file:///c:/Windows/foo 相对链接: [ext[a]] 打开就是 tiddlywiki所在路径/a [ext[自定义显示内容|实际链接]] 图片: [img[example.jpg]] [img[example|example.jpg]] [img width=16 [example.jpg]] [img class="tc-image" [example.jpg]] [img[http://www.tiddlywiki.com/favicon.ico]]
一、win10自带壁纸路径:C:\Windows\Web(不建议删除); 二、桌面壁纸历史记录删除:计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers 三、屏锁壁纸历史记录删除:C:\ProgramData\Microsoft\Windows\SystemData\S-1-5-21-3539603992-281004673-205778979-1001\ReadOnly 原贴加详情查看/删除 Windows 8/10 锁屏界面壁纸历史记录; 四、当前壁纸路径:C:\Users\asus(不是华硕的请将这里ASUS替换成自己电脑的)\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles; 五、华硕自带壁纸路径:C:\Windows\ASUS\wallpapers(我是华硕电脑所以加个哈) --- !! win10壁纸历史记录在哪里 在win10操作系统中,我们在更换桌面的壁纸后在“个性化”界面可以看到之前使用过的壁纸历史记录,如果点击的话还能直接将壁纸换成之前使用过的图片,不少用户反应这样的设置真的非常不人性化,那么有什么办法可以将历史壁纸记录删除掉呢?在本文中winwin7系统小编给大家分享下删除win10壁纸历史记录的操作方法。 默认情况下,如果打开“个性化”>“背景”窗口,则“Windows设置面板”将共显示五个壁纸。 它包括四个以前使用的壁纸和当前的一个。 每当你改变壁纸,最后一个从列表中删除。 现在,如果您想要取回该位置的所有默认壁纸以快速更改桌面背景,请使用下面的简单技巧。 您需要使用Windows注册表编辑器。 在使用之前,请确保您已经创建了注册表备份或系统还原点。 如果出现任何问题,您可以随时恢复。 要开始,请打开注册表编辑器。 为此,按Win + I键入regedit,然后按Enter按钮。 或者,您可以在任务栏搜索框中搜索注册表,然后单击结果。 打开注册表编辑器后,导航到以下路径 - HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers 打开Wallpaper后,您将在右侧找到四个不同的值,分别为BackgroundHistoryPath1,BackgroundHistoryPath2,BackgroundHistoryPath3和BackgroundHistoryPath4。 这是以前使用的四个壁纸。 如何删除Windows10中的墙纸历史记录 您需要右键单击它们并逐个删除它们。 假设您要删除第1张和第4张壁纸。 在这种情况下,请删除BackgroundHistoryPath1和BackgroundHistoryPath4。 以上便是win10系统删除历史壁纸的操作方法,由于需要用到注册表进行操作,所在操作之前大家最好先将注册表进行备份(文件 -- 导出)。 <br/> --- 删除 Windows 8/10 锁屏界面壁纸历史记录 首先要说明的是 Windows 默认锁屏壁纸在 C:\Windows\Web\Screen 下。然而把它们删除并不能删除历史记录,电脑也仍然会有锁屏壁纸。 历史记录的真实路径在 C:\ProgramData\Microsoft\Windows\SystemData 下。(注意 C:\ProgramData 是隐藏文件夹)这个文件夹默认是打不开的。我们需要得到完全控制权。右键-属性-安全-高级,更改所有者,点击高级-立即查找,搜索结果中选择电脑当前用户,确定。 查看/删除 Windows 8/10 锁屏界面壁纸历史记录 然后给文件夹添加权限。点击添加-选择主体,和上一步同样方法选择当前用户名,确定。在基本权限中点击完全控制,确定。 然后就可以打开了。有两个文件夹,短的那个点开两次有个 lockscreen_z,存放真正默认的锁屏壁纸。长的那个点开,再点 readonly,出现六个文件夹,lockscreen_A 一直到 lockscreen_F。这就是历史图片了。然后大家就可以想干什么干什么了。 查看/删除 Windows 8/10 锁屏界面壁纸历史记录 顺便一提,锁屏壁纸图片历史记录是不会随着不断更换无限增多的,最多也就六张。
Consider the below example in which a macro output contains some wikitext has been fed to a wikify widget! The widget removes part of formatting: ``` \define mc() This is a `code` and __underline__. <$wikify name="result" text="""<<mc>>"""> <<result>> </$wikify> ``` * The output is: "This is a code and underline." * While it should be: "This is a `code` and __underline__." How to solve this issue? !! Solution In cases like this, the wikiparser does its magic first ... see the below example, where it wikifies the text field of another tiddler, but viewing it with `<$view tiddler="someTiddler" mode="block" format="text"/>` ``` <$wikify name="something" text="""<$view tiddler="bla" mode="block" format="text"/>"""> <<something>> </$wikify> ``` The `view` widget here assures that the plain text comes in ... In the above example here you have no such "helper". So, you need to change macro as below: ``` \define mc() \rules only This is a `code` and __underline__. \end ``` This way, you prevent the parser from kicking in in this macro block and it works. See [[Example 51: Rules Only Pragma]]. !! Remarks This method is useful when the output of a macro should be written in a tiddler whitout wikifying! In other words the wikitext itself is writte.
;How to use svg in TW?
:[[PMario|https://groups.google.com/d/msg/tiddlywiki/xoBAOY7OMGY/EKKTDPdIBAAJ]] instruction has beed given as below
!! First Rule: Remove the svg overhead
* Include onle the pure `<svg>` part.
* Remove all additional parameters eg:
** `<?xml version="1.0" encoding="UTF-8"?>` wrapper element
** the whole meta data block
* Depending on the svg editor software you use and how you save the file, an svg file can contain a lot of editor specific stuff, that is irrelevant for TW. The overhead can be significant, in terms of tiddler size and also usability within TW.
!! Second Rule: Use outline paths
* Use ''outline'' paths, so they can be filled!
* <div>
The advantage of the outline is, that we can use //CSS// fill style setting to change the svg color. eg:
```
.tc-image-chevron-left {
fill: green;}
```
</div>
!! Third Rule: Remove all hardcoded styling attributes
* The important part now is, we have to remove every //fill-attributes// from the paths.
* Internl stylings (those have been set in tiddler.svg) would always win, so it would not possible to use css
* Apply css class definitions instead, if you need to style icon elements.
!! Fourth Rule: Use proper default values
* The recommended settings can be as follow:
** `width="22pt" height="22pt"`
** `viewBox="0 0 128 128"`
!! Fifth Rule: Use a proper svg editor
* Depending on the editor, svg files can contain a lot of bloat.
** Make sure, you have a save option similar to: Optimized SVG in InkScape.
** You still have to remove some stuff manually, but the editor specific crap is gone.
!! Sixth Rule: Optimize the svg for size
* You can use: [[SvgOmg|https://jakearchibald.github.io/svgomg/]]. It has a lot of parameters, you can play with, to optimize the image size, without loosing quality.
!! Seventh Rule: Do not embed big images
* They only make your TW file big.
* As a crude rule of thumb, big is >100 kByte
! Examples
<<list-links "[tag[exmp059]] -[<currentTiddler>]">>
; How use the range operator to produce zero padded number?
:Write a macro to add the zeros using addprefix operator
!! Example i
Generate numbers below 100 all padded with zeros as `001, 002, 010, 055, 099, 100`
```
\define zeropad-range(n:10)
<$list filter="[range[1,$n$]]" variable=x >
<$reveal type="lteq" default=<<x>> text="9" >
<$text text= {{{[<x>addprefix[00]]}}} />
</$reveal>
<$reveal type="gt" default=<<x>> text="9" >
<$text text= {{{[<x>addprefix[0]]}}} />
</$reveal>
</$list>
\end
```
!! Remarks
* The `list` widget generates number using `range` operator from 1 upto n.
* The first `reveal` widget check number if it is less than or equal to 9 and padded with two zeros.
* The second `reveal` widget checks number if it is greater than 9 and padded with one zero.
* The `text` widget return a simple number padded with required zeros inside `reveal` widgets.
!! Example ii
Produce number by 1000 padded with zeros to have fixed four digits ie: `0001, 0002, 0055, 0285, 0999, 1000`
```
\define zeropad-range4(n:10)
<$list filter="[range[1,$n$]]" variable=x >
<$reveal type="lteq" default=<<x>> text="9" >
<$text text= {{{[<x>addprefix[000]]}}} />
</$reveal>
<$reveal type="gt" default=<<x>> text="9" >
<$reveal type="lt" default=<<x>> text="99" >
<$text text= {{{[<x>addprefix[00]]}}} />
</$reveal>
</$reveal>
<$reveal type="gt" default=<<x>> text="99" >
<$text text= {{{[<x>addprefix[0]]}}} />
</$reveal>
</$list>
\end
```